JSP게시판 - 글 수정
제목, 글 내용 수정
BoardUpdateForm.jsp
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 | <%@page import="model.BoardBean"%> <%@page import="model.BoardDAO"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <body> <div style="text-align: center"> <h2>게시글 수정</h2> <% //해당 게시글 번호를 통하여 게시글을 수정 int num = Integer.parseInt(request.getParameter("num").trim()); //하나의 게시글에 대한 정보를 리턴하는 메서드 //BoardInfo에서 호출한 getOnBoard(int num)를 수정하여 사용한다. BoardDAO bdao = new BoardDAO(); BoardBean bean = bdao.getOneUpdate(num); %> <form action="BoardUpdateProc.jsp" mthod="post"> <table align="center" width="600" border="1" bgcolor="skyblue"> <tr height="40"> <td width="120" align="center">작성자</td> <td width="120" align="center"><%=bean.getWriter()%></td> <td width="120" align="center">작성일</td> <td width="120" align="center"><%=bean.getReg_date()%></td> </tr> <tr> <tr height="40"> <td width="120" align="center">제목</td> <td width="480" align="left"> <input type="text" name="subject" value="<%=bean.getSubject()%>"> </td> </tr> <tr height="40"> <td width="120" align="center">패스워드</td> <td width="480" align="left" colspan="3"> <input type="password" name="password"> </td> </tr> <tr height="40"> <td width="120" align="center">글 내용</td> <td width="480" align="left" colspan="3"> <textarea rows="10" cols="60" name="content" align="left"> <%=bean.getContent()%></textarea></td> </tr> <tr height="40"> <td colspan="4" align="center"> <input type="hidden" name="num" value="<%=bean.getNum()%>"> <input type="submit" value="글 수정"> <input type="button"onclick="location.href='BoardList.jsp'" value="전체글보기"></td> </tr> </table> </form> </div> </body> </html> | cs |
BoardUpdatePro.jsp
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 | <%@page import="model.BoardDAO"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <body> <% request.setCharacterEncoding("UTF-8"); %> <!--제목, 글내용만 수정했기때문에 제목, 패스워드, 글내용, 글넘버만 넘겨받으면 된다. --> <!-- 4개나 읽어들이니까 request를 쓰느니 usebean을 쓰는게 낫다. --> <!-- 기존 DB에서 해당 넘버에 맞는 패스워드 값을 가져와 넘겨온 패스워드와 일치하는지 여부를 따져본다. --> <jsp:useBean id="boardbean" class="model.BoardBean"> <jsp:setProperty name="boardbean" property="*" /> </jsp:useBean> <% //해당 게시글의 패스워드 값 얻어오기 //데이터베이스엔 연결 BoardDAO bdao = new BoardDAO(); String password = bdao.getPassword(boardbean.getNum()); //기존 패스워드 값과 업데이트시 작성했던 패스워드값 비교 if (boardbean.getPassword().equals(password)){ //같다면 데이터 수정 bdao.updateBoard(boardbean); //수정이 완료되면 전체 게시글 보기 response.sendRedirect("BoardList.jsp"); }else{//패스워드가 틀리다면 %> <script type="text/javascript"> alert("패스워드가 일치하지 않습니다."); history.go(-1); </script> <% } %> </body> </html> | cs |
BoardDAO.java 중 일부 [ getPassword() ] 메서드와 [ updateBoard() ] 메서드
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 | // update와 delete시 필요한 패스워드 값을 리턴해주는 메서드 public String getPassword(int num) { String pass = ""; getCon(); try { String sql = "select password from board where num=?"; pstmt = con.prepareStatement(sql); pstmt.setInt(1, num); rs = pstmt.executeQuery(); if (rs.next()) { // 패스워드값 받아오는거니까 getString의 인덱스 1번 pass = rs.getString(1); } // 자원반납 con.close(); } catch (SQLException e) { e.printStackTrace(); } return pass; } // 하나의 수정된 content를 업데이트하는 메서드 public void updateBoard(BoardBean bean) { // 업데이트 되는건 제목과 내용// update table명 set 컬럼1=? 컬럼2=? where 조건 getCon(); try { String sql = "update board set subject=?, content=? where num=?"; pstmt = con.prepareStatement(sql); pstmt.setString(1, bean.getSubject()); pstmt.setString(2, bean.getContent()); pstmt.setInt(3, bean.getNum()); pstmt.executeUpdate(); con.close(); } catch (Exception e) { e.printStackTrace(); } } | cs |
'JSP > JSP & Servlet ' 카테고리의 다른 글
JSP 게시판 - 전체게시글보기 카운트 (0) | 2019.05.14 |
---|---|
JSP 게시판 - 게시글 삭제 (0) | 2019.05.14 |
JSP 게시판 - 답글 쓰기 (0) | 2019.05.10 |
JSP게시판 - 게시글 보기 (0) | 2019.05.09 |
JSP 게시판 -DAO 클래스 설정, 글쓰기 폼 (0) | 2019.05.08 |