모델2(MVC) 게시판 만들기 - 글입력 구현하기
- Board.class와 BoardDao.class는 모델1방식(http://injava.tistory.com/20참고)과 동일하다.(Model 역활)
- 모델2방식은 모델1에서 Model부분은 그대로 사용하고 나머지 부분을 Controller와 View로 역활을 나눈다.
- boardAddServlet 서블릿이 입력폼과 입력 요청을 처리한다.(Controller 역활)
- get방식으로 "/board/boardAdd"요청이 오면 "/board/boardAdd.jsp"로(View 역활) 바로 포워딩한다.
- post방식으로 "/board/boardAdd"요청이 오면 boardDao의 insertBoard()메서드를 호출하여 데이터를 입력하고 보여줄 View가 없으므로 "/board/boardList"를 재요청(redirect)한다.
- view페이지(jsp)에서는 자바관련코드를 사용하지 않도록 EL/JSTL을 사용한다.
※ mysql -connector-java-5.1.40-bin.jar 파일은 http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.40 나 http://dev.mysql.com/downloads/connector/j 둘중 하나에서 다운로드 받으면 됩니다.
view에서 JSTL을 사용하기 위한 라이브러리 jstl-1.2.jar 파일은 다음에서 다운로드 http://mvnrepository.com/artifact/jstl/jstl/1.2
BoardAddServlet.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 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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/boardAdd") public class BoardAddServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("/board/boardAdd.jsp").forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("euc-kr"); String boardPw = request.getParameter("boardPw"); System.out.println("param boardPw:"+boardPw); String boardTitle = request.getParameter("boardTitle"); System.out.println("param boardTitle:"+boardTitle); String boardContent = request.getParameter("boardContent"); System.out.println("param boardContent:"+boardContent); String boardUser = request.getParameter("boardUser"); System.out.println("param boardUser:"+boardUser); Board board = new Board(); board.setBoardPw(boardPw); board.setBoardTitle(boardTitle); board.setBoardContent(boardContent); board.setBoardUser(boardUser); BoardDao boardDao = new BoardDao(); int rowCount = boardDao.insertBoard(board); // rowCout가 1이면 입력성공 response.sendRedirect(request.getContextPath()+"/board/boardList"); } } | cs |
boardAdd.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>BOARD ADD</title> </head> <body> <h1>BOARD ADD</h1> <form action="<c:url value='/board/boardAdd'/>" method="post"> <div>boardPw : </div> <div><input name="boardPw" id="boardPw" type="password"/></div> <div>boardTitle : </div> <div><input name="boardTitle" id="boardTitle" type="text"/></div> <div>boardContent : </div> <div><textarea name="boardContent" id="boardContent" rows="5" cols="50"></textarea></div> <div>boardName : </div> <div><input name="boardUser" id="boardUser" type="text"/></div> <div> <input type="submit" value="글입력"/> <input type="reset" value="초기화"/> </div> </form> </body> </html> | cs |
'P. 자바 미니 프로젝트 > 모델2 게시판' 카테고리의 다른 글
P.3.5 모델2(MVC) 게시판 만들기 - 글수정 (0) | 2016.12.02 |
---|---|
P.3.4 모델2(MVC) 게시판 만들기 - 글삭제 (0) | 2016.12.02 |
P.3.3 모델2(MVC) 게시판 만들기 - 글내용 (0) | 2016.12.02 |
P.3.2 모델2(MVC) 게시판 만들기 - 글목록 (1) | 2016.12.02 |