package controller.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import action.Action;
import pdh.DAO.BoardDAO;
import pdh.DAO.BoardVO;
//게시글을 데이터 베이스에 추가하기 위한 액션 클래스
//boardWrite.jsp에서 사용한 <input type="hidden" name="command" value="board_write">으로 Servlet으로 보내져서
//actionFactory의 if(command.equals("board_write"))의 조건에 충족하여 연결된 곳
public class BoardWriteAction implements Action {
@Override
public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BoardVO bVo = new BoardVO(); //VO를 bVo로 인스턴스화 한다.
bVo.setName(request.getParameter("name"));
//VO에 name을 저장한다. request영역에 저장되있는 파라메타"name"키(jsp input의 name)의 값을 불러와
bVo.setPass(request.getParameter("pass"));
bVo.setEmail(request.getParameter("email"));
bVo.setTitle(request.getParameter("title"));
bVo.setContent(request.getParameter("content"));
BoardDAO bDao = BoardDAO.getInstance(); //BoardDAO를 사용할 싱글톤을 bDao에 담는다
bDao.insertBoard(bVo); //bDao에 있는 insertBoard(게시글 입력하기)메서드에 bVo객체의 값을 담는다.
new BoardListAction().execute(request, response);
//BoardListAction.java의 BoardListAction로 List창으로 가게 한다.
//이때 위에서 코드의 bVo에 저장되어있는 값을 읽어
//BoardListActiond에서 List에 뿌려주어
//execute로 실행하게 한다. execute - SQL문이 무엇인지 모를때 사용
}
}