[19] 답변형 게시판 (수정)
파일명 : bbsUpdateForm.jsp
----------------------------------------------------
<%@ page contentType="text/html; charset=utf-8" %>
<%@ include file="./ssi.jsp" %>
<%
String ip = request.getRemoteAddr(); // Client IP 추출
int bbsno = Integer.parseInt(request.getParameter("bbsno"));
bbsDTO = bbsDAO.read(bbsno); // 글 번호에 해당하는 글을 읽어 옵니다.
String wname = bbsDTO.getWname();
String subject = bbsDTO.getSubject();
String content = bbsDTO.getContent();
%>
<html>
<head>
<title>글 수정</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<center>
** 게시판 수정 **
<br>
<form name="frmUpdate" method="post" action="./bbsUpdateProc.jsp">
<input type="hidden" name="bbsno" value="<%=bbsno%>">
<input type="hidden" name="ip" value="<%=ip%>">
<table border=1>
<tr align=left>
<td>이름:</td>
<td><input type="text" name="wname" value="<%=wname%>"></td>
</tr>
<tr align=left>
<td>제목:</td>
<td><input type="text" name="subject" value="<%=subject%>"></td>
</tr>
<tr align=left>
<td>내용:</td>
<td><textarea name="content" rows="5" cols="30"><%=content%></textarea></td>
</tr>
<tr align=left>
<td>비번:</td>
<td><input type="password" name="passwd"></td>
</tr>
</table>
<br>
<input type="submit" name="btnSubmit" value="수정 진행"/>
<input type="Button" name="btnCancel" value="취소"
onclick="javascript:history.back()"/>
<input type="Button" name="btnList" value="목록으로가기"
onclick="javascript:location.href='./bbsList.jsp';"/>
</form>
</body>
</html>
----------------------------------------------------
파일명 : bbsUpdateProc.jsp
----------------------------------------------------
<%@ page contentType="text/html; charset=utf-8"%>
<%@ include file="./ssi.jsp" %>
<%
bbsDTO.setBbsno(Integer.parseInt(request.getParameter("bbsno")));
bbsDTO.setPasswd(request.getParameter("passwd"));
%>
<html>
<head>
<title>글 수정</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body topmargin="0" leftmargin="0">
<div align="center">
<%
// 패스워드 검사
boolean flag = bbsDAO.checkPasswd(bbsDTO.getBbsno(), bbsDTO.getPasswd());
if (flag == false){
out.println("<p><b>패스워드가 일치하지 않습니다.</b></p>");
out.println("<p><b>다시 한번 시도해주세요</b></p>");
out.println("<a href='Javascript:history.back()'>다시 입력</a>");
}
else // 패스워드 일치하면
{
bbsDTO.setIp(request.getParameter("ip"));
bbsDTO.setWname(request.getParameter("wname"));
bbsDTO.setSubject(request.getParameter("subject"));
bbsDTO.setContent(request.getParameter("content"));
int cnt = bbsDAO.update(bbsDTO);
if(cnt == 1){
out.println("<p><b>글 수정 성공!!</b></p>");
%>
[<a href='./bbsRead.jsp?bbsno=<%=bbsDTO.getBbsno() %>'>수정된 글 보러가기</a>]
[<a href='./bbsList.jsp'>목록으로 가기</a>]
<%
}else{
out.println("<p><b>글 수정 실패 !!</b></p>");
out.println("<a href='Javascript:history.back()'>다시 입력</a>");
}
}
%>
</div>
</body>
</html>
----------------------------------------------------
파일명 : BbsDAO.java
----------------------------------------------------
//수정
public int update(BbsDTO dto){
Connection con=dbconnect.getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
StringBuffer sql = null;
int cnt = 0; // 수정한 레코드 갯수 저장
try{
sql = new StringBuffer();
sql.append(" UPDATE "+table_name);
sql.append(" SET wname=?, subject=?, content=?");
sql.append(" WHERE bbsno=?");
pstmt = con.prepareStatement(sql.toString());
pstmt.setString(1, dto.getWname());
pstmt.setString(2, dto.getSubject());
pstmt.setString(3, dto.getContent());
pstmt.setInt(4, dto.getBbsno());
cnt = pstmt.executeUpdate();
}catch(Exception e){
System.out.println(e.toString());
}finally{
DBClose.close(con, pstmt, rs);
}
return cnt;
}
----------------------------------------------------