모델2(MVC) 게시판 만들기 - 하나의 글 상세내용보기


- Board.class와 BoardDao.class는 모델1방식(http://injava.tistory.com/20참고)과 동일하다.(Model 역활)

- BoardViewServlet은 boardNo값이 매개변수로 넘어오면 view로 포이딩하고 boardNo값이 넘어오지 않으면 잘못된 요청으로 간주하고 "/board/boardList"를 리다이렉션 한다.



BoardViewServlet.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package web;
 
import java.io.IOException;
 
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 service.Board;
import service.BoardDao;
 
 
@WebServlet("/board/boardView")
public class BoardViewServlet extends HttpServlet {
    private BoardDao boardDao;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        if(request.getParameter("boardNo"== null) {
            response.sendRedirect(request.getContextPath()+"/board/boardList");
        } else {
            int boardNo = Integer.parseInt(request.getParameter("boardNo"));
            BoardDao boardDao = new BoardDao();
            Board board = boardDao.selectBoardByKey(boardNo);
            request.setAttribute("board", board);
            request.getRequestDispatcher("/board/boardView.jsp").forward(request, response);
        }
    }
}
cs


boardView.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>boardView</title>
</head>
<body>
<h1>BOARD VIEW</h1>
    <div>board_no :</div>
    <div>${board.boardNo}</div>
    <div>board_title :</div>
    <div>${board.boardTitle}</div>
    <div>board_content :</div>
    <div>${board.boardContent}</div>
    <div>board_user :</div>
    <div>${board.boardUser}</div>
    <div>board_date :</div>
    <div>${board.boardDate}</div>
    <div>
        <a href="<c:url value='/board/boardModify?boardNo=${board.boardNo}'/>">수정</a>
        <a href="<c:url value='/board/boardRemove?boardNo=${board.boardNo}'/>">삭제</a>
    </div>
</body>
</html>
cs


+ Recent posts