ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP 게시판 만들기(4)
    프로그래밍/JSP 2022. 12. 6. 22:24
    728x90

     

     

    글 내용 상세보기 페이지에서 댓글을 추가하고 삭제하는 기능을 구현해보자.

     

    댓글 추가 처리 페이지(reply_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 r_content = request.getParameter("r_content");
    		
    		Connection conn = null;
    		PreparedStatement pstmt = null;
    				
    		String sql = "";
    		
    		try{
    			conn = Dbconn.getConnection();
    			if(conn != null){
    				sql = "insert into tb_reply (r_userid, r_content, r_boardidx) values (?, ?, ?);";
    				pstmt = conn.prepareStatement(sql);
    				pstmt.setString(1, userid);
    				pstmt.setString(2, r_content);
    				pstmt.setString(3, b_idx);
    				pstmt.executeUpdate();	
    			}
    		}catch (Exception e) {
    			e.printStackTrace();
    		}
    %>
    	<script>
    		location.href='./view.jsp?b_idx=<%=b_idx%>';
    	</script> 
    <%	
    	}
    %>

     

    글 상세보기 페이지(view.jsp)에서 글 인덱스 번호와 댓글 내용을 post 방식으로 reply_ok.jsp에 보내주게되면 전달받은 데이터는 댓글 테이블(tb_reply)에 데이터를 추가된다. 처리 이후 글 상세보기 페이지(view.jsp)로 이동한다.

     

     

     

     

     

     

    댓글 삭제 처리 페이지(reply_del_ok.jsp) 작성

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

     

    글 상세보기 페이지(view.jsp)에서 댓글 삭제 버튼 클릭시 댓글의 인덱스 번호(r_idx)와 글 인데스 번호(b_idx)를 get방식으로 전달하여 댓글 삭제 처리 페이지(reply_del_ok.jsp)에서 request.getParameter로 받는다.

     

    댓글 테이블(tb_reply)에서 댓글 인덱스 번호(r_idx)와 맞는 데이터를 삭제(delete)하고 파라미터로 가져온 글 인덱스 번호(b_idx)를 이용하여 다시 글 상세보기페이지(view.jsp)로 이동한다.

     

     

     

    댓글 추가 결과

     

    추가된 댓글을 확인해보면 본인이 작성한 댓글에만 삭제 버튼이 추가된 것을 볼 수 있다.

     

     

     

    삭제하기
    삭제하기

     

    삭제 완료

    728x90

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

    JSP 게시판 만들기(파일업로드)  (0) 2022.12.10
    JSP 게시판 만들기(5)  (0) 2022.12.08
    JSP 게시판 만들기(3)  (0) 2022.12.03
    JSP 게시판 만들기(2)  (0) 2022.12.02
    JSP 게시판 만들기(1)  (0) 2022.11.30

    댓글

Designed by Tistory.