ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP 게시판 만들기(5)
    프로그래밍/JSP 2022. 12. 8. 20:23
    728x90

     

     

    글 상세보기 페이지(view.jsp)에서 게시글을 수정하는 기능을 추가해보자.

     

    게시글 수정 페이지(edit.jsp) 작성

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="com.koreait.db.Dbconn"%>
    <%
    	request.setCharacterEncoding("UTF-8");
    	String userid = (String)session.getAttribute("userid");
    	if(userid == null){
    %>
    <script>
    	alert('로그인 후 이용하세요');
    	location.href='../login.jsp';
    </script> 
    <%		
    	}else{
    		
    		String b_idx = request.getParameter("b_idx");
    		
    		Connection conn = null;
    		PreparedStatement pstmt = null;
    		ResultSet rs = null;
    		
    		String b_title = "";
    		String b_content = "";
    		
    		String sql = "";
    		
    		try{
    			conn = Dbconn.getConnection();
    			if(conn != null){
    				sql = "select b_title, b_content from tb_board where b_idx=?";
    				pstmt = conn.prepareStatement(sql);
    				pstmt.setString(1, b_idx);
    				rs = pstmt.executeQuery();
    				
    				if(rs.next()){
    					b_title = rs.getString("b_title");
    					b_content = rs.getString("b_content");
    				}
    			}
    		}catch (Exception e) {
    			e.printStackTrace();
    		}
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>커뮤니티 - 글수정</title>
    </head>
    <body>
    	<h2>커뮤니티 - 글수정</h2>
    	 <form method="post" action="./edit_ok.jsp">
    		<input type="hidden" name="b_idx" value="<%=b_idx%>">
    	 	<p>작성자 : <%=userid%></p>
    	 	<p>제목<input type="text" name="b_title" value="<%=b_title%>"></p>
    	 	<p>내용</p>
    	 	<p><textarea name="b_content" rows="5" column="40"><%=b_content%></textarea></p>
    	 	<p><input type="submit" value="수정"> <input type="reset" value="다시작성"> <input type="button" value="리스트" onclick="location.href='list.jsp'"></p>
    	 </form>
    </body>
    </html>
    <%	
    }
    %>

    해당 페이지는 게시글 수정 페이지(edit.jsp)로 게시글의 데이터를 수정할 수 있다. view.jsp에서 글번호를 request.getParameter로 받아와서 글번호와 맞는 데이터를 받아온 뒤 수정 페이지 양식에 맞게 데이터를 보여준다.

     

    게시글 수정 페이지

     

    수정할 게시글의 정보를 보여주고 수정을 완료하기 위해 수정 버튼을 클릭하면 POST방식으로 edit_ok.jsp로 데이터를 보낸다.

     

     

     

     

    데이터 수정 처리 페이지(edit_ok.jsp) 작성

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="com.koreait.db.Dbconn"%>
    <%
    	request.setCharacterEncoding("UTF-8");
    	String userid = (String)session.getAttribute("userid");
    	if(userid == null){
    %>
    <script>
    	alert('로그인 후 이용하세요');
    	location.href='../login.jsp';
    </script> 
    <%		
    	}else{
    		
    		String b_idx = request.getParameter("b_idx");
    		
    		String b_title = request.getParameter("b_title");
    		String b_content = request.getParameter("b_content");
    		
    		Connection conn = null;
    		PreparedStatement pstmt = null;
    		
    		String sql = "";
    		
    		try{
    			conn = Dbconn.getConnection();
    			if(conn != null){
    				sql = "update tb_board set b_title = ?, b_content = ? where b_idx=?";
    				pstmt = conn.prepareStatement(sql);
    				pstmt.setString(1, b_title);
    				pstmt.setString(2, b_content);
    				pstmt.setString(3, b_idx);
    				pstmt.executeUpdate();
    			}
    		}catch (Exception e) {
    			e.printStackTrace();
    		}	
    %>
    <script>
    	alert('게시글이 수정되었습니다.');
    	location.href='./view.jsp?b_idx=<%=b_idx%>';
    </script>
    <%
    	}
    %>

    edit.jsp에서 받은 데이터들은 쿼리문을 통해 갱신(update)되고 다시 글 상세보기 페이지로 이동하게된다. 이때 글 수정이 완료된 것을 확인 할 수 있다.

     

    게시글 수정 완료

     

     

     

     

     

     

    728x90

    '프로그래밍 > JSP' 카테고리의 다른 글

    JSP JSTL  (0) 2022.12.13
    JSP 게시판 만들기(파일업로드)  (0) 2022.12.10
    JSP 게시판 만들기(4)  (0) 2022.12.06
    JSP 게시판 만들기(3)  (0) 2022.12.03
    JSP 게시판 만들기(2)  (0) 2022.12.02

    댓글

Designed by Tistory.