- [JSP] 39. JSP와 서블릿을 사용해 간단한 게시판 만들어 보기(2)2024년 07월 08일
- Song hyun
- 작성자
- 2024.07.08.:38
728x90반응형[JSP] 39. JSP와 서블릿을 사용해 간단한 게시판 만들어 보기(2)
*이전 글
https://whatsthatsound.tistory.com/444
1. 상세 페이지 만들기
(1) readPost.jsp
<%@page import="java.sql.ResultSet"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>게시글 목록</title> <link rel="stylesheet" type="text/css" href="css.style.css"> </head> <body> <h2>게시글 목록</h2> <% ResultSet rs = (ResultSet)request.getAttribute("resultSet"); if(rs!=null){ %> <table border="1"> <tr> <th>ID</th> <th>제목</th> <th>작성일</th> <th>ID</th> <th></th> </tr> <% while(rs.next()){ %> <tr> <td><%= rs.getInt("id") %></td> <td><a href="view-post?boardId=<%= rs.getInt("id")%>"><%= rs.getString("title")%></td> <td><%= rs.getString("content") %></td> <td><%= rs.getString("created_at") %></td> <td> <form action="delete-post" method="get"> <input type="hidden" name="boardId" value="<%= rs.getInt("id") %>"> <button type="submit">삭제</button> </form> </td> </tr> <% } %> </table> <% } else { %> <p>작성된 게시글이 하나도 없습니다.</p> <% } %> </body> </html>
(2) DetailPostServlet.java
package com.tenco.servlet; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @WebServlet("/view-post") public class DatailPostServlet extends HttpServlet { private static final long serialVersionUID = 1L; public DatailPostServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); String id=request.getParameter("boardId"); try (Connection conn=DBUtil.getConnection()){ String sql="SELECT FROM posts WHERE id= ?"; PreparedStatement pstmt=conn.prepareStatement(sql); pstmt.setInt(1, Integer.parseInt(id)); ResultSet rs = pstmt.executeQuery(); request.setAttribute("resultSet", rs); request.getRequestDispatcher("detailPost.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); response.sendRedirect("result.jsp?message=error"); } } }
(3) DetailPost.jsp
<%@page import="java.sql.ResultSet"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>게시글 상세보기 화면</title> </head> <body> <h2>상세보기 화면</h2> <% ResultSet rs = (ResultSet) request.getAttribute("resultSet"); while(rs.next()){ %> <h3><%= rs.getString("title") %></h3> <p><%= rs.getString("content") %></p> <p><small>작성일 : <%= rs.getString("created_at") %></small></p> <!-- 수정 폼 --> <h3>게시글 수정</h3> <form action="update-post" method="post"> <label for="title">제목 : </label> <input type="text" id="title" name="title" value="<%=rs.getString("title")%>"> <br><br> <label for="content">내용 : </label> <input type="text" id="content" name="content" value="<%=rs.getString("content")%>"> <br><br> <button type="submit">수정하기</button> </form> <% } %> </body> </html>
(4) UpdatePostServlet.java
package com.tenco.servlet; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/update-post") public class UpdatePostServlet extends HttpServlet { private static final long serialVersionUID = 1L; public UpdatePostServlet() { super(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
728x90반응형'JSP > 간단 게시판 만들기' 카테고리의 다른 글
[JSP] 40. JSP와 서블릿을 사용해 간단한 게시판 만들어 보기(3) (0) 2024.07.08 [JSP] 38. JSP와 서블릿을 사용해간단한 게시판 만들어 보기 (1) (0) 2024.07.08 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)