diff --git a/jspblog/src/main/java/com/example/jspblog/domain/reply/ReplyDao.java b/jspblog/src/main/java/com/example/jspblog/domain/reply/ReplyDao.java index 83a1b848..6952e517 100644 --- a/jspblog/src/main/java/com/example/jspblog/domain/reply/ReplyDao.java +++ b/jspblog/src/main/java/com/example/jspblog/domain/reply/ReplyDao.java @@ -1,4 +1,31 @@ package com.example.jspblog.domain.reply; +import com.example.jspblog.config.DB; +import com.example.jspblog.domain.reply.dto.SaveReqDto; + +import java.sql.Connection; +import java.sql.PreparedStatement; + public class ReplyDao { + public int save(SaveReqDto dto) { + String sql = "insert into reply(userId, boardId, content, createDate) values(?, ?, ?, now())"; + Connection conn = DB.getConnection(); + PreparedStatement pstmt = null; + + if (conn != null) { + try { + pstmt = conn.prepareStatement(sql); + pstmt.setInt(1, dto.getUserId()); + pstmt.setInt(2, dto.getBoardId()); + pstmt.setString(3, dto.getContent()); + int result = pstmt.executeUpdate(); + return result; + } catch (Exception e) { + e.printStackTrace(); + } finally { + DB.close(conn, pstmt); + } + } + return -1; + } } diff --git a/jspblog/src/main/java/com/example/jspblog/domain/reply/dto/SaveReqDto.java b/jspblog/src/main/java/com/example/jspblog/domain/reply/dto/SaveReqDto.java new file mode 100644 index 00000000..2a3fa75c --- /dev/null +++ b/jspblog/src/main/java/com/example/jspblog/domain/reply/dto/SaveReqDto.java @@ -0,0 +1,13 @@ +package com.example.jspblog.domain.reply.dto; + +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class SaveReqDto { + + private int userId; + private int boardId; + private String content; +} diff --git a/jspblog/src/main/java/com/example/jspblog/service/ReplyService.java b/jspblog/src/main/java/com/example/jspblog/service/ReplyService.java index 56d10aae..5c2c3cf8 100644 --- a/jspblog/src/main/java/com/example/jspblog/service/ReplyService.java +++ b/jspblog/src/main/java/com/example/jspblog/service/ReplyService.java @@ -1,4 +1,17 @@ package com.example.jspblog.service; +import com.example.jspblog.domain.reply.ReplyDao; +import com.example.jspblog.domain.reply.dto.SaveReqDto; + public class ReplyService { + + private final ReplyDao replyDao; + + public ReplyService() { + this.replyDao = new ReplyDao(); + } + + public int 댓글쓰기(SaveReqDto dto) { + return replyDao.save(dto); + } } diff --git a/jspblog/src/main/java/com/example/jspblog/web/ReplyController.java b/jspblog/src/main/java/com/example/jspblog/web/ReplyController.java index 65114a02..50f73fc9 100644 --- a/jspblog/src/main/java/com/example/jspblog/web/ReplyController.java +++ b/jspblog/src/main/java/com/example/jspblog/web/ReplyController.java @@ -1,13 +1,19 @@ package com.example.jspblog.web; +import com.example.jspblog.domain.reply.dto.SaveReqDto; +import com.example.jspblog.service.BoardService; +import com.example.jspblog.service.ReplyService; +import com.example.jspblog.util.Script; + import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import java.io.IOException; -@WebServlet(name = "reply") +@WebServlet("/reply") public class ReplyController extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doProcess(request, response); @@ -19,11 +25,29 @@ public class ReplyController extends HttpServlet { protected void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String cmd = request.getParameter("cmd"); + ReplyService replyService = new ReplyService(); + HttpSession session = request.getSession(); - if(cmd.equals("loginForm")) { + switch (cmd) { + case "save": { + int userId = Integer.parseInt(request.getParameter("userId")); + int boardId = Integer.parseInt(request.getParameter("boardId")); + String content = request.getParameter("content"); - } else if (cmd.equals("login")) { + SaveReqDto dto = SaveReqDto.builder() + .userId(userId) + .boardId(boardId) + .content(content) + .build(); + int result = replyService.댓글쓰기(dto); + if (result == 1) { + response.sendRedirect("/jspblog/board?cmd=detail&id=" + boardId); + } else { + Script.back(response, "댓글쓰기 실패"); + } + break; + } } } } diff --git a/jspblog/src/main/webapp/board/detail.jsp b/jspblog/src/main/webapp/board/detail.jsp index 13d5313c..fb99e03c 100644 --- a/jspblog/src/main/webapp/board/detail.jsp +++ b/jspblog/src/main/webapp/board/detail.jsp @@ -31,9 +31,13 @@
Comment
- -
- +
+ + + +
+ +