From fa8905715f70c15c4a9d01b6c98eed8cd9e4a49d Mon Sep 17 00:00:00 2001 From: kim Date: Thu, 21 Jan 2021 15:01:54 +0900 Subject: [PATCH] jspblog : board list --- .../example/jspblog/domain/board/Board.java | 4 +-- .../jspblog/domain/board/BoardDao.java | 35 +++++++++++++++++++ .../example/jspblog/service/BoardService.java | 7 ++++ .../example/jspblog/web/BoardController.java | 8 ++++- jspblog/src/main/webapp/board/list.jsp | 13 +++---- jspblog/src/main/webapp/index.jsp | 2 +- 6 files changed, 59 insertions(+), 10 deletions(-) diff --git a/jspblog/src/main/java/com/example/jspblog/domain/board/Board.java b/jspblog/src/main/java/com/example/jspblog/domain/board/Board.java index 4784df33..4fabefdf 100644 --- a/jspblog/src/main/java/com/example/jspblog/domain/board/Board.java +++ b/jspblog/src/main/java/com/example/jspblog/domain/board/Board.java @@ -5,7 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDateTime; +import java.sql.Timestamp; @Data @AllArgsConstructor @@ -18,5 +18,5 @@ public class Board { private String title; private String content; private int readCount; - private LocalDateTime createDate; + private Timestamp createDate; } diff --git a/jspblog/src/main/java/com/example/jspblog/domain/board/BoardDao.java b/jspblog/src/main/java/com/example/jspblog/domain/board/BoardDao.java index 7b503333..deedce24 100644 --- a/jspblog/src/main/java/com/example/jspblog/domain/board/BoardDao.java +++ b/jspblog/src/main/java/com/example/jspblog/domain/board/BoardDao.java @@ -5,7 +5,10 @@ import com.example.jspblog.domain.board.dto.WriteReqDto; import java.sql.Connection; import java.sql.PreparedStatement; +import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; public class BoardDao { public int write(WriteReqDto dto) { @@ -30,4 +33,36 @@ public class BoardDao { } return -1; } + + public List findAll() { + String sql = "select * from board order by id desc"; + Connection conn = DB.getConnection(); + PreparedStatement pstmt = null; + ResultSet rs = null; + List boards = new ArrayList<>(); + + if (conn != null) { + try { + pstmt = conn.prepareStatement(sql); + rs = pstmt.executeQuery(); + while (rs.next()) { + Board board = Board.builder() + .id(rs.getInt("id")) + .title(rs.getString("title")) + .content(rs.getString("content")) + .readCount(rs.getInt("readCount")) + .userId(rs.getInt("userId")) + .createDate(rs.getTimestamp("createDate")) + .build(); + boards.add(board); + } + return boards; + } catch (Exception e) { + e.printStackTrace(); + } finally { + DB.close(conn, pstmt, rs); + } + } + return null; + } } diff --git a/jspblog/src/main/java/com/example/jspblog/service/BoardService.java b/jspblog/src/main/java/com/example/jspblog/service/BoardService.java index aa9c9057..cc3f2f15 100644 --- a/jspblog/src/main/java/com/example/jspblog/service/BoardService.java +++ b/jspblog/src/main/java/com/example/jspblog/service/BoardService.java @@ -1,8 +1,11 @@ package com.example.jspblog.service; +import com.example.jspblog.domain.board.Board; import com.example.jspblog.domain.board.BoardDao; import com.example.jspblog.domain.board.dto.WriteReqDto; +import java.util.List; + public class BoardService { private final BoardDao boardDao; @@ -14,4 +17,8 @@ public class BoardService { public int 글쓰기(WriteReqDto dto) { return boardDao.write(dto); } + + public List 글목록보기() { + return boardDao.findAll(); + } } diff --git a/jspblog/src/main/java/com/example/jspblog/web/BoardController.java b/jspblog/src/main/java/com/example/jspblog/web/BoardController.java index 3649ab1b..27559a34 100644 --- a/jspblog/src/main/java/com/example/jspblog/web/BoardController.java +++ b/jspblog/src/main/java/com/example/jspblog/web/BoardController.java @@ -1,5 +1,6 @@ package com.example.jspblog.web; +import com.example.jspblog.domain.board.Board; import com.example.jspblog.domain.board.dto.WriteReqDto; import com.example.jspblog.domain.user.User; import com.example.jspblog.service.BoardService; @@ -13,6 +14,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; +import java.util.List; @WebServlet("/board") public class BoardController extends HttpServlet { @@ -32,7 +34,7 @@ public class BoardController extends HttpServlet { switch (cmd) { case "writeForm": { if (principal != null) { - response.sendRedirect("board/writeForm.jsp"); + request.getRequestDispatcher("board/writeForm.jsp").forward(request, response); } else { response.sendRedirect("user/loginForm.jsp"); } @@ -56,6 +58,10 @@ public class BoardController extends HttpServlet { } break; } + case "list" : + List boards = boardService.글목록보기(); + request.setAttribute("boards", boards); + request.getRequestDispatcher("board/list.jsp").forward(request, response); } } } diff --git a/jspblog/src/main/webapp/board/list.jsp b/jspblog/src/main/webapp/board/list.jsp index ab2af4c6..b16487a2 100644 --- a/jspblog/src/main/webapp/board/list.jsp +++ b/jspblog/src/main/webapp/board/list.jsp @@ -19,13 +19,14 @@
-
-
-

제목

- 상세보기 + +
+
+

${board.title}

+ 상세보기 +
-
- +
  • Previous
  • diff --git a/jspblog/src/main/webapp/index.jsp b/jspblog/src/main/webapp/index.jsp index 5bd8013d..2d7d90f5 100644 --- a/jspblog/src/main/webapp/index.jsp +++ b/jspblog/src/main/webapp/index.jsp @@ -1,5 +1,5 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <% - request.getRequestDispatcher("board/list.jsp").forward(request, response); + request.getRequestDispatcher("board?cmd=list").forward(request, response); %> \ No newline at end of file