728x90
프런트 컨트롤러 패턴
- 컨트롤러 앞에 프런트 컨트롤러 역할의 서블릿을 세우고 클라이언트의 요청을 받는다.
- 하나의 프론트 컨트롤러가 모든 요청을 받아 요청에 맞는 컨트롤러를 찾아 호출한다.
- 프런트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다.
- 프런트 컨트롤러의 도입을 통해 공통 기능 등을 한 곳에서 처리할 수 있다.
스프링 웹 MVC와 프런트 컨트롤러
- 스프링 웹 MVC의 핵심도 프런트 컨트롤러이다.
- 스프링 웹 MVC에서는 DispatcherServlet이 프런트 컨트롤러 패턴으로 구현되어 있다.
프런트 컨트롤러의 단점
프런트 컨트롤러 패턴만으로 구현된 서블릿은 한 가지 방식의 컨트롤러 인터페이스만 사용할 수 있다.
어댑터 패턴
- 그러나, 어댑터 패턴을 이용하면 말 그대로 어댑터 역할을 하는 클래스를 두어 다양한 인터페이스의 구현 컨트롤러를 모두 처리할 수 있도록 변경이 가능하다.
- 이를 MVC 패턴에서는 핸들러 어댑터라고 부른다.
핸들러
- 컨트롤러를 뜻하며 컨트롤러 뿐만이 아니라 어떤 것이든 해당하는 종류의 어댑터만 있으면 처리할 수 있기 때문에 핸들러라는 더 넓은 범위의 이름을 사용한다.
참고
김영한 - 스프링 MVC 1편
728x90
'[Spring] > Spring MVC' 카테고리의 다른 글
Spring에서 HTTP 통신을 통해 JSON 형식의 데이터를 주고 받을 때 사용하는 애너테이션을 정리해보자. (0) | 2023.08.14 |
---|---|
스프링 MVC의 구조 (0) | 2023.03.23 |
자바에서의 MVC 패턴(Servlet -> JSP -> 스프링 MVC까지) (0) | 2023.03.16 |
HttpServletRequest & HttpServletResponse 정리 (0) | 2023.03.15 |
트랜잭션 전파(Transaction Propaganda) & 트랜잭션 격리 레벨(Isolation Level) 1분 요약 정리 (0) | 2022.12.04 |