일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 상관 분석
- 명목형 데이터
- 시계열 특성을 고려한 이상치 탐지
- Python
- custom vision
- 주성분 줄이기
- 계절성 모델
- 최소-최대 정규화
- 날짜 시간 데이터 전처리
- 시계열 모델링
- 데이터 분석 프로세스
- 시계열 상관 분석
- 범주형 데이터
- Q-Q 플롯
- 데이터 종류에 따른 분석 방법
- 상위포지션
- 주성분 분석
- 선형 판별 분석 LDA
- 군집화 시각화 방법
- 상자 그림
- Z-점수 기반 이상치 탐지
- 데이터 수집 및 전처리
- ARIMA 모델링
- 데이터의 차원 축소
- 순서형 데이터
- 다변량 분석
- 다중상관분석
- 지수평활법
- R과 Python
- ARMA 모델링
Archives
- Today
- Total
me made it !
[JSP] 20230314 JSP 모델2 방식으로 게시판 만들기 본문
반응형
function idCheck(){
// alert("아이디 체크창입니다.");
let memberId = $("#memberId").val();
$.ajax({
url: "<%=request.getContextPath()%>/member/memberIdCheck.do",
method: "POST",
data: {"memberId": memberId },
dataType: "json",
success : function(data){
if (data.idYn =="Y"){
alert("사용가능한 아이디입니다.");
$("#memberIdCheck").val("Y");
}else{
alert("사용불가한 아이디 입니다");
}
},
error : function(request,status,error){
alert("다시 시도하시기 바랍니다.");
}
});
}else if(str.equals("/member/memberIdCheck.do")) {
String memberId = request.getParameter("memberId");
//넘어온 memberId와 같은 아이디가 있는지 체크
MemberDao md = new MemberDao();
int value = md.memberIdCheck(memberId);
PrintWriter out = response.getWriter();
out.println("{\"value\":"+value+"}");
}
}
public int memberIdCheck(String memberId){
int value = 0;
String sql ="select count(*) as cnt from member1230 where memberid = ?";
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, memberId);
rs = pstmt.executeQuery();
if(rs.next()) { //커서가 이동을 해서 다음 값이 존재하면 참 -> 진행할 수 있다.
value = rs.getInt("cnt");
}
}catch(SQLException e) {
e.printStackTrace();
}finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return value;
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>example1230.controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
package example1230.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/FrontController")
public class FrontController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String uri = request.getRequestURI();
// System.out.println("전체 주소는? "+uri);
String projectName = request.getContextPath();
int projectLength = projectName.length();
String str = uri.substring(projectLength); //실제 가상경로이름 추출
// System.out.println("가상경로는? "+str);
// 예를 들면
// /member/memberList.do
// /board/boardList.do
String[] strArray = str.split("/");
String gubun = strArray[1];
if (gubun.equals("member")) {
MemberController mc = new MemberController(str);
mc.doGet(request, response);
}else if(gubun.equals("board")) {
BoardController bc =new BoardController(str);
bc.doGet(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package example1230.controller;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import example1230.domain.BoardVo;
import example1230.service.BoardDao;
@WebServlet("/BoardController")
public class BoardController extends HttpServlet {
private static final long serialVersionUID = 1L;
String str;
public BoardController(String path) {
this.str = path;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(str.equals("/board/boardList.do")) {
System.out.println("boardList.do 들어옴");
BoardDao bd = new BoardDao();
ArrayList<BoardVo> blist = bd.boardSelectAll();
request.setAttribute("blist", blist);
RequestDispatcher rd = request.getRequestDispatcher("/board/boardList.jsp");
rd.forward(request, response); //forward 방식 : 같은 영역안에 있는 다른 공간에 정보를 넘겨줌
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package example1230.service;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import example1230.dbconn.Dbconn;
import example1230.domain.BoardVo;
public class BoardDao {
Connection conn;
public BoardDao() {
Dbconn dbconn = new Dbconn();
conn = dbconn.getConnection();
}
public ArrayList<BoardVo> boardSelectAll(){
ArrayList<BoardVo> blist = new ArrayList<BoardVo>();
String sql ="select *from board1230 where delyn = 'n' order by bidx DESC";
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()){
BoardVo bv = new BoardVo();
bv.setBidx(rs.getInt("bidx"));
bv.setSubject(rs.getString("subject"));
bv.setWriter(rs.getString("writer"));
bv.setWriteday(rs.getString("writeday"));
blist.add(bv);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return blist;
}
}
package example1230.dbconn;
import java.sql.Connection;
import java.sql.DriverManager;
public class Dbconn {
private String url= "jdbc:oracle:thin:@127.0.0.1:1521:xe";
private String user="system";
private String password="1234";
public Connection getConnection() {
Connection conn= null ;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, user, password); //연결객체 생성
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
package example1230.domain;
public class BoardVo {
private int bidx;
private String subject;
// private String content;
private String writer;
private String delyn;
private String writeday;
private String ip;
int midx;
public int getBidx() {
return bidx;
}
public void setBidx(int bidx) {
this.bidx = bidx;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getDelyn() {
return delyn;
}
public void setDelyn(String delyn) {
this.delyn = delyn;
}
public String getWriteday() {
return writeday;
}
public void setWriteday(String writeday) {
this.writeday = writeday;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public int getMidx() {
return midx;
}
public void setMidx(int midx) {
this.midx = midx;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import ="java.util.*" %>
<%@ page import ="example1230.domain.BoardVo" %>
<%
ArrayList<BoardVo> blist = (ArrayList<BoardVo>)request.getAttribute("blist");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
a:link{
text-decoration:none;
}
</style>
</head>
<body>
게시판 목록
<form name="frm" action="<%=request.getContextPath() %>/board/boardList.do" method="post">
<table style="text-align:left;width:800px;border:0;">
<tr>
<td style="width:600px;"></td>
<td>
<select name="searchType">
<option value="subject">제목</option>
<option value="writer">작성자</option>
</select>
</td>
<td><input type="text" name="keyword" size="10"></td>
<td><input type="submit" name="submit" value="검색"></td>
</tr>
</table>
</form>
<table border=1 style="text-align:left;width:800px;">
<tr>
<td>게시물번호</td>
<td>제목</td>
<td>작성자</td>
<td>날짜</td>
</tr>
<!-- 향상된 for 문 -->
<%for(BoardVo bv: blist){ %>
<tr>
<td><%=bv.getBidx() %></td>
<td><%=bv.getSubject() %></td>
<td><%=bv.getWriter() %></td>
<td><%=bv.getWriteday().substring(0,10) %></td>
</tr>
<%} %>
</table>
<table style="border:0, width:300px;width:800px;">
<tr>
<td style="text-align:right;">
◀
</td>
<td style="text-align:center;width:300px;">
1 2 3 4 5 6 7 8 9 10
</td>
<td style="width:200px;text-align:left;">
▶
</td>
</tr>
</table>
<a href="<%=request.getContextPath()%>/board/boardWrite.do">글쓰기</a>
</body>
</html>
여기서 과제 !
글쓰기 버튼을 누르면 write.jsp로 연결 되게 하라고 하셨다.
/
BoardController.java에다가 추가하기
//과제 !
if(str.equals("/board/boardWrite.do")) {
System.out.println("boardWrite.do 들어옴");
BoardDao bd = new BoardDao();
ArrayList<BoardVo> blist = bd.boardSelectAll();
request.setAttribute("blist", blist);
RequestDispatcher rd = request.getRequestDispatcher("/board/boardWrite.jsp");
rd.forward(request, response); //forward 방식 : 같은 영역안에 있는 다른 공간에 정보를 넘겨줌
}
왜 됐는지는 모르겠으나.. 해내서 당황스럽다;; 물어봐야겠음
오늘 안 꿀팁들
1 . ctrl + shift + y : 소문자로 바꾸기
2. <%=bv.getWriteday().substring(0,10) %> :앞에서부터 10자리만 보여주기
[Servlet & JSP] Redirect vs forward 방식 비교
[Servlet & JSP] Redirect vs forward 방식 비교 현재 JSP & Servlet을 활용한 WEB 개발에 대해서 전체적으로 학습을 진행하고 있습니다. 그중에서 Redirect와 foward 개념에 대해서 정리해보고자 합니다. 또한 간단
kbj96.tistory.com
https://velog.io/@corone_hi/JSP-forward-redirect
[JSP] forward, redirect
출처Server가 client 요청에 대해 특정 URL로 이동을 다시 요청하는 rule입니다. 클라이언트가 서버에 Resource 요청을 합니다.서버는 redirect 상태값인 3xx과 함께 Header에 이동할 Location URL을 추가해서 같
velog.io
반응형
'TIL > JSP' 카테고리의 다른 글
[JSP] 20230316 JSP 게시판 조회수 설정하기 (0) | 2023.03.16 |
---|---|
[JSP] 20230315 JAVA 게시판에 글쓰기 (0) | 2023.03.15 |
[JSP] JSP 개발 환경 구축 (0) | 2023.03.14 |
[JSP] 20230313 JSP 모델 1 방식으로 게시판 만들기 (0) | 2023.03.13 |
[JSP] 20230310 JSP try- catch, DTO(VO)와 DAO (0) | 2023.03.10 |