위로 아래

서블릿 파일 생성

controller 패키지 안에 BoardController 서블릿 파일 생성

httpServlet 상속

init과 destroy 생략 가능. doGet과 doPost 선택

url 매핑 이름 : /jb

 

doGet으로 요청 모으기

package controller;

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;

/**
 * Servlet implementation class d
 */
@WebServlet("/jb")
public class d extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public d() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 입력할 예정
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

 

 

 

 

다른 페이지로 이동시켜 주는 컨트롤러 생성

command 키의 value 값에 따라 다른 page로 이동시켜주는 컨트롤러 생성

String command = null;
String page = null;

command = request.getParameter("command");

switch(command) {
    case "list" : {
        page = "view/BoardList.jsp";
        break;
    }
    case "writeForm" : {
        page = "view/BoardWriteForm.jsp";
        break;
    }
}

RequestDispatcher dp = request.getRequestDispatcher(page);
dp.forward(request, response);

command와 page 문자열을 선언하고 초기화해준다.

command 파라미터를 불러와서, 그 값에 따라 switch 문을 통해 어디로 보낼지 page 문자열에 주소를 입력한다.

글을 쓴 후 글 목록으로 갈 수 있도록 list 케이스를 미리 추가한다.

데이터베이스에서 정보를 미리 가져와야 하니,비즈니스 로직을 처리할 BoardListAction.jsp으로 이동한다.

파라미터를 그대로 가지고 이동할 수 있게, requestDispatcher를 사용해서, page 문자열에 저장한 페이지로 이동한다.

 

 

 

 

주소 오입력에 대비

혹시 command 값이나 주소를 잘못 칠 수 있으니, 그에 대비한다.

String command = null;
String page = null;
if(request.getParameter("command")==null)
    command = "list";
else
    command = request.getParameter("command");

switch(command) {
    case "list" : {
        page = "view/BoardList.jsp";
        break;
    }
    case "writeForm" : {
        page = "view/BoardWriteForm.jsp";
        break;
    }

    default : {
        page = "view/Error.jsp";
        break;
    }
}

RequestDispatcher dp = request.getRequestDispatcher(page);
dp.forward(request, response);

 

잘못된 command 값을 입력할 경우 글목록으로,

아예 잘못된 주소를 입력했을 경우는 에러 페이지인 Error.jsp로 이동하도록 해놓았다.

 

 

 

 

 


전체 코드

더보기
package controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class BoardController
 */
@WebServlet("/jb")
public class BoardController extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BoardController() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String command = null;
		String page = null;
		if(request.getParameter("command")==null)
			command = "list";
		else
			command = request.getParameter("command");
		
		switch(command) {
			case "list" : {
				page = "view/BoardList.jsp";
				break;
			}
			case "writeForm" : {
				page = "view/BoardWriteForm.jsp";
				break;
			
			default : {
				page = "view/Error.jsp";
				break;
			}
		}
		
		RequestDispatcher dp = request.getRequestDispatcher(page);
		dp.forward(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}