Search

๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ

๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ

๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

ํ™”๋ฉด

์ž‘์—… ์ˆœ์„œ

1.
read.jsp
2.
board.sql
3.
Board.java
4.
BoardDAO.java
5.
BoardService.java
6.
BoardServiceImpl.java
7.
BoardServlet.java

์ฝ”๋“œ

read.jsp

<%@ include file="/layout/jstl.jsp" %> <%@ include file="/layout/common.jsp" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>project๐Ÿ’ป - ALOHA CLASS๐ŸŒด</title> <jsp:include page="/layout/meta.jsp" /> <jsp:include page="/layout/link.jsp" /> </head> <body> <jsp:include page="/layout/header.jsp" /> <%-- [Contents] ######################################################### --%> <main> <div class="container mt-5"> <h2 class="mb-4">๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ</h2> <form action=""> <input type="hidden" name="id" value="${board.id}" /> <div class="mb-3"> <label for="title" class="form-label">์ œ๋ชฉ</label> <input type="text" class="form-control" id="title" name="title" value="${board.title}" required> </div> <div class="mb-3"> <label for="username" class="form-label">์ž‘์„ฑ์ž</label> <input type="text" class="form-control" id="username" name="username" value="${board.user.name}" readonly> </div> <div class="mb-3"> <label for="content" class="form-label">๋‚ด์šฉ</label> <textarea class="form-control" id="content" name="content" rows="6" required>${board.content}</textarea> </div> <div class="d-grid gap-2 mt-4"> <a href="${ root }/board/update?id=${ board.id }" class="btn btn-primary">์ˆ˜์ •</a> <a href="${ root }/board/list" class="btn btn-secondary">๋ชฉ๋ก</a> </div> </form> </div> </main> <%-- [Contents] ######################################################### --%> <jsp:include page="/layout/footer.jsp" /> <jsp:include page="/layout/script.jsp" /> </body> </html>
HTML
๋ณต์‚ฌ

board.sql

DROP TABLE IF EXISTS board; CREATE TABLE board ( no INT AUTO_INCREMENT PRIMARY KEY COMMENT 'PK', id VARCHAR(64) NOT NULL UNIQUE COMMENT 'UK', title VARCHAR(255) NOT NULL COMMENT '์ œ๋ชฉ', user_no INT NOT NULL COMMENT '์ž‘์„ฑ์ž PK', content TEXT NOT NULL COMMENT '๋‚ด์šฉ', created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '์ž‘์„ฑ์ผ', updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '์ˆ˜์ •์ผ' ) COMMENT '๊ฒŒ์‹œํŒ'; -- ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ TRUNCATE TABLE board; INSERT INTO board(id, title, user_no, content) VALUES (UUID(), '์ œ๋ชฉ001', 1, '๋‚ด์šฉ001'), (UUID(), '์ œ๋ชฉ002', 2, '๋‚ด์šฉ002'), (UUID(), '์ œ๋ชฉ003', 3, '๋‚ด์šฉ003'), (UUID(), '์ œ๋ชฉ004', 1, '๋‚ด์šฉ004'), (UUID(), '์ œ๋ชฉ005', 2, '๋‚ด์šฉ004'), (UUID(), '์ œ๋ชฉ003', 3, '๋‚ด์šฉ003') ;
SQL
๋ณต์‚ฌ

Board.java

package board.DTO; import java.util.Date; import com.alohaclass.jdbc.annotation.Column; import com.alohaclass.jdbc.annotation.Pk; import com.alohaclass.jdbc.annotation.Table; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Table("board") @Data @NoArgsConstructor @AllArgsConstructor @Builder public class Board { @Pk private int no; private String id; private String title; private int userNo; private String content; private Date createdAt; private Date updatedAt; @Column(exist = false) private Users user; }
Java
๋ณต์‚ฌ

BoardDAO.java

package board.DAO; import com.alohaclass.jdbc.dao.BaseDAOImpl; import board.DTO.Board; public class BoardDAO extends BaseDAOImpl<Board> { }
Java
๋ณต์‚ฌ

BoardService.java

package board.Service; import java.util.List; import board.DTO.Board; public interface BoardService { // ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก List<Board> list(); // ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ Board select(int no); Board selectById(String id); }
Java
๋ณต์‚ฌ

BoardServiceImpl.java

package board.Service; import java.util.HashMap; import java.util.List; import java.util.Map; import board.DAO.BoardDAO; import board.DAO.UserDAO; import board.DTO.Board; import board.DTO.Users; public class BoardServiceImpl implements BoardService { private BoardDAO boardDAO = new BoardDAO(); private UserDAO userDAO = new UserDAO(); @Override public List<Board> list() { List<Board> list = null; try { list = boardDAO.list(); for (Board board : list) { int userNo = board.getUserNo(); Users user = userDAO.select(userNo); board.setUser(user); } } catch (Exception e) { e.printStackTrace(); } return list; } @Override public Board select(int no) { Board board = null; try { board = boardDAO.select(no); int userNo = board.getUserNo(); Users user = userDAO.select(userNo); board.setUser(user); } catch (Exception e) { e.printStackTrace(); } return board; } @Override public Board selectById(String id) { Board board = null; try { Map<String, Object> map = new HashMap<>(); map.put("id", id); board = boardDAO.selectBy(map); int userNo = board.getUserNo(); Users user = userDAO.select(userNo); board.setUser(user); } catch (Exception e) { e.printStackTrace(); } return board; } }
Java
๋ณต์‚ฌ

BoardServlet.java

package board.servlet; import java.io.IOException; import java.util.List; import java.util.UUID; import board.DTO.Board; import board.DTO.Users; import board.Service.BoardService; import board.Service.BoardServiceImpl; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @WebServlet("/board/*") public class BoardServlet extends HttpServlet { private static final long serialVersionUID = 1L; private BoardService boardService = new BoardServiceImpl(); /** * [GET] */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = request.getPathInfo(); String page = ""; // ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก if( path.equals("/list") || path.equals("/list.jsp") ) { List<Board> boardList = boardService.list(); request.setAttribute("boardList", boardList); page = "/page/board/list.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(page); dispatcher.forward(request, response); } // ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ if( path.equals("/read") || path.equals("/read.jsp") ) { String id = request.getParameter("id"); Board board = boardService.selectById(id); request.setAttribute("board", board); page = "/page/board/read.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(page); dispatcher.forward(request, response); } } /** * [POST] */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
Java
๋ณต์‚ฌ