- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- </head>
- <body>
- <ol>
- <li>
- [controller] --(forward)--> [/view/first_view.jsp]
- </li>
- <li>
- [controller] --(forward)--> [/view/second_view.jsp]
- </li>
- </ol>
- </body>
- </html>
2.Front.java
- 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;
- @WebServlet("/test/*")
- /*
- * mapping url pattern
- * "/*" : 모든 요청
- * "*.do" : 확장자가 do인 요청
- * "/board/*" : /board/로 시작하는 요청
- */
- public class Front extends HttpServlet {
- private static final long serialVersionUID = 1L;
- private boolean isRedirect = false;
- private String view;
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // System.out.println("contextPath:"+contextPath);
- // System.out.println("url:"+url);
- // System.out.println("command:"+command);
- if(command.equals("/test/first")){
- this.view = "/view/first_view.jsp";
- }else if(command.equals("/test/second")){
- this.isRedirect = true;
- this.view = "/view/second_view.jsp";
- }
- if(this.isRedirect){
- response.sendRedirect(contextPath+view);
- }else{
- request.getRequestDispatcher(view).forward(request, response);
- }
- }
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doGet(request, response);
- }
- }
3.first/second_view.jsp
생성
- FrontController pattern
몇개의 서블릿이 중앙 집중식으로 모든요청을 다 받아서 처리하는 방식
대표적인 Front Controller Pattern : Spring
댓글 없음:
댓글 쓰기