1. DispatcherServlet이란?
- 관심사의 분리
- DispatcherServlet과 Controller, registerForm.jsp 사이에 Adapter들이 있는이유?
- 느슨한 결합으로 변경에 유리하기 위해
- DispatcherServlet 소스 분석
- DispatcherServlet.properties
org.springframework.web.servlet.LocaleResolver=org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver
// 테마기능 ThemeResolver
org.springframework.web.servlet.ThemeResolver=org.springframework.web.servlet.theme.FixedThemeResolver
// 요청을 어떤 메서드가 처리할 수 있는지 알려주는 기능 HandlerMapping
org.springframework.web.servlet.HandlerMapping=org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,\
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
org.springframework.web.servlet.HandlerAdapter=org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,\
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,\
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
// 예외처리 HandlerExceptionResolver
org.springframework.web.servlet.HandlerExceptionResolver=org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver,\
org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver,\
org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver
// 요청 URL을가지고 어떤 View를 사용할지 알아내는 역할 RequestToViewNameTranslator
org.springframework.web.servlet.RequestToViewNameTranslator=org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator
// 컨트롤러가 뷰네임을 반환했을때 그게 어떤 뷰인지 알려주는 역할 ViewResolver
org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.InternalResourceViewResolver
// 데이터를 맵 형태로 일시적으로 저장하는 기능 FlashMapManager
org.springframework.web.servlet.FlashMapManager=org.springframework.web.servlet.support.SessionFlashMapManager
- 디버그 모드를 통해 알아보자
- login/login URL로 요청을 보내주면...
- DispatcherServlet이 초기화를 시작하였고...
- RequestMappingHandlerMapping : DispatcherServlet이 요청을 처리할 컨트롤러와 그에 대응하는 핸들러 메서드를 찾기위한 핵심 역할을 수행한다.
-> 핸들러 어답터를 선택하고 컨트롤러에서 처리된 결과를 DispatcherServlet에게 응답으로 전달한다. - 요청 URL과 컨트롤러 메서드를 매핑 해주고
- RequestMappingHandlerAdapter : 메서드를 실제로 호출하고 처리하여 응답을 반환한다.
- /ex2는 ExceptionController.main2()와 연결되어있다.
'Spring' 카테고리의 다른 글
38. 데이터의 변환과 검증(2) - 패스트캠퍼스 백엔드 부트캠프 3기 (2) | 2025.02.17 |
---|---|
37. 데이터의 변환과 검증(1) - 패스트캠퍼스 백엔드 부트캠프 3기 (6) | 2025.02.17 |
35. 예외처리/이론 - 패스트캠퍼스 백엔드 부트캠프 3기 (2) | 2025.02.17 |
34. 예외처리/실습 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.02.17 |
33. 세션(session)/실습(3) - 패스트캠퍼스 백엔드 부트캠프 3기 (2) | 2025.02.16 |