Jsp - Update 게시글

2020. 7. 30. 21:34Jsp

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<%@page import="board.BoardDTO"%>
<%@page import="java.util.List"%>
<%@page import="board.BoardDAO"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>boarder/updateForm.jsp</h1>
<%
request.setCharacterEncoding("utf-8");
//int num num파라미터 가져오기
int num=Integer.parseInt(request.getParameter("num").trim());
 
BoardDAO bdao=new BoardDAO();
BoardDTO bb=bdao.ContentCheck(num);
if(bb!=null){
    
%>
<form action="updatePro.jsp" method="post">
<input type="hidden" name="num" value="<%=bb.getNum()%>">
<table border="1">
<tr><td>글쓴이</td><td><input type="text" name="name" value="<%=bb.getName()%>"></td></tr>
<tr><td>비밀번호</td><td><input type="password" name="pass"></td></tr>
<tr><td>제목</td><td><input type="text" name="subject" value="<%=bb.getSubject()%>"></td></tr>
<tr><td>내용</td><td><textarea rows="10" cols="20" name="content" value="<%= bb.getContent() %>"></textarea></td></tr>
<tr><td><input type="submit" value="글수정"></td>
<td><input type="button" value="글목록" onclick="location.href='list.jsp'"></td></tr>
</table>
</form>
    <%
}
 
%>
</body>
</html>
 
<%@page import="board.BoardDTO"%>
<%@page import="board.BoardDAO"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>boarder/updatePro.jsp</h1>
<%
request.setCharacterEncoding("utf-8");
//num name pass subject content
int num=Integer.parseInt(request.getParameter("num").trim());
String name=request.getParameter("name");
String pass=request.getParameter("pass");
String subject=request.getParameter("subject");
String content=request.getParameter("content");
//DTO에 폼에서 적은 내용들 저장하기
BoardDTO bb=new BoardDTO();
bb.setNum(num);
bb.setName(name);
bb.setPass(pass);
bb.setSubject(subject);
bb.setContent(content);
//num값으로 조회한후 update 하기
BoardDAO bdao=new BoardDAO();
ResultSet rs=bdao.getResultSet(num);
if(rs.next()){
    
if(pass.equals(rs.getString("pass"))){
    
        bdao.UpdateBoard(bb);
        response.sendRedirect("list.jsp");
}else{
    %>
    <script type="text/javascript">
    alert("비밀번호 틀림");
    history.back();
    </script>
    <%
}
}
 
 
%>
 
</body>
</html>
cs

 

DB의 기본키인 num 값을 화면이 이동할 때마다 가지고 다니는 이유가 게시글을 지우고 수정하고 할 때 중요하게 작용하니 잊어버리지 말고 잘 가지고 다니자. 기능 구현 자체는 어렵지 않았다. 보여줄 화면에서 받아온 num 값을 적용하여 DAO로 해당하는 DB를 불러오기만 하면 되니 아주 간단하다. 뒤에서 수정을 해주기 위한 작업을 구현하는 페이지에서 조금 헷갈릴 수 있는 곳이 수정을 한 파라미터들을 DTO에 입력을 해주는 부분인데 자꾸 하나씩 빼먹고 DTO에 입력을 빼먹었다. 이런 잔잔한 실수들을 하지 않게 꼼꼼하게 확인하여야겠다.

'Jsp' 카테고리의 다른 글

Jsp - 게시글 생성,삭제,갱신,목록조회 DAO  (0) 2020.07.30
Jsp - 게시글내용  (0) 2020.07.30
Jsp - Delete 게시글  (0) 2020.07.30
Jsp - 게시글 쓰기  (0) 2020.07.30
Jsp - DAO,Paging 을 활용한 게시판 글목록 불러오기  (1) 2020.07.30