공부내용 정리/스프링
Front Controller Pattern
minsoku
2023. 10. 16. 22:53
프론트 컨트롤러 패턴
- 모든 요청을 단일 Handler(처리기)에서 처리하도록 하는 패턴
- 스프링 웹 MVC 프레임워크의 Dispatcher Servlet(프론트컨트롤러 연할)이 프론트 컨트롤러 패턴으로 구현되어있음
Forward
- 서블릿에서 클라이언트(웹 브라우저)를 거치지 않고 바로 다른 서블릿(또는 JSP)에게 요청하는 방식
- Forward 방식은 서버 내부에서 일어나는 요청이기 때문에 HttpServletRequest, HttpServletResponse 객체가 새롭게 생성되지 않음(공유됨)
- RequestDispatcher dispatcher = request.getRequestDispatcher("forward 할 servlet 또는 JSP")
-> dispatcher.forward(request,response)
Redirect
- 서블릿이 클라이언트(웹 브라우저)를 다시 거쳐 다른 서블릿(또는 JSP)에게 요청하는 방식
- Redirect 방식은 클라이언트로부터 새로운 요청이기 때문에 새로운 HttpServletRequest, HttpServletResponse객체가 생성됨
- HttpServletResponse객체의 sendRedirect() 이용