Notice
Recent Posts
Recent Comments
Link
매일 매일 미라클 코딩
MVC 아키텍쳐- Front Controller(2) : Dispatcher Servlet 본문
✔프론트 컨트롤러 도입 전
- 각각의 컨트롤러에서 직접 사용자 요청을 받고, 화면생성 View 위임(RequestDispatcher)
Model 호출(sql.connection)
- 다른페이지로 보내기 위해 리다이렉트 // req.sendRedirect("list")
✔ 프런트 컨트롤러의 도입
컨트롤러가 하는 일 중에서 공통, 또는 반복적으로 하는 작업을 추출하여 클래스로 정의하고
컨트롤러 작업 전에 공통작업을 먼저 수행하도록 한다.
컨트롤러 공통작업 • JSP로 실행을 위임하는 코드 • 다른 페이지로 리다이렉트 시키는코드 • 파라미터를 값 객체로 만드는 코드 … 등등 |
✔ 컨트롤러 = 프론트컨트롤러(공통작업) + 페이지컨트롤러(특정페이지작업)
• 페이지 컨트롤러의 코드가 간결해짐
• 페이지 컨트롤러는 서블릿일 필요가 없음
• request 객체에 setAttribute 메소드로 값을 저장하여 전달하거나
Session 객체를 받아 model.put(키, 밸류) 로 VO 값저장
•프론트 컨트롤러 완성후 페이지 컨트롤러를 POJO화 하면 끝
✏프론트 컨트롤러의 클래스 이름은 DispatcherServlet
클라이언트 요청을 받아야 하기 때문에 서블릿이어야한다
페이지 컨트롤러를 실행하기 전에 공통 작업을 처리해야 하기 때문에,
요청 URL의 규칙을 정의할 필요 있음
ex > * .do 접미사가 붙은 요청이 들어오면 DispatcherServlet에게 보냄
✏.do 로 끝나는 URL 요청을 처리하게 하려면, 서블릿 선언에 URL 매핑 정보를 설정해야 함 (애노테이션)
@WebServlet("*.do") //-> URL 매핑 지정 public class DispatcherServlet extends HttpServlet { … } |
'BackEnd' 카테고리의 다른 글
서블릿 Servlet (0) | 2021.02.07 |
---|---|
WAS (웹 어플리케이션 서버) - 서블릿 컨테이너 (0) | 2021.02.07 |
MVC 아키텍쳐 - Front Controller (1) (0) | 2021.02.07 |
Get 요청과 Post 요청 (0) | 2021.01.21 |
HTTP 프로토콜이란? (0) | 2021.01.21 |