본문 바로가기

Spring/Spring MVC

(SERVLET) Spring MVC 구성요소

초기화되는 요소들을 하나 하나 살펴보도록 하자!


MultipartResolver

  • 파일 업로드 요청 처리에 필요한 인터페이스

  • HttpServletRequest를 MultipartHttpServletRequest로 변환해주어 요청이 담고 있는 File을 꺼낼 수 있는 API 제공.

MultipartResolver 의 구현체 두가지

 

LocaleResolver

  • 클라이언트의 위치(Locale) 정보를 파악하는 인터페이스

  • 기본 전략은 요청의 accept-language를 보고 판단.

ThemeResolver

 

HandlerMapping

  • 요청을 처리할 핸들러를 찾는 인터페이스

HandlerAdapter

  • HandlerMapping이 찾아낸 “핸들러”를 처리하는 인터페이스

  • 스프링 MVC 확장력의 핵심

 

HandlerExceptionResolver

  • 요청 처리 중에 발생한 에러 처리하는 인터페이스

 

RequestToViewNameTranslator

  • 핸들러에서 뷰 이름을 명시적으로 리턴하지 않은 경우, 요청을 기반으로 뷰 이름을 판단하는 인터페이스

 

ViewResolver

  • 뷰 이름(string)에 해당하는 뷰를 찾아내는 인터페이스

더보기

Properties 기본값 (DispatcherServlet.properties)

# Default implementation classes for DispatcherServlet's strategy interfaces.
# Used as fallback when no matching beans are found in the DispatcherServlet context.
# Not meant to be customized by application developers.

org.springframework.web.servlet.LocaleResolver=org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver

org.springframework.web.servlet.ThemeResolver=org.springframework.web.servlet.theme.FixedThemeResolver

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

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

org.springframework.web.servlet.RequestToViewNameTranslator=org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator

org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.InternalResourceViewResolver

org.springframework.web.servlet.FlashMapManager=org.springframework.web.servlet.support.SessionFlashMapManager

 

FlashMapManager

  • FlashMap 인스턴스를 가져오고 저장하는 인터페이스

  • FlashMap은 주로 리다이렉션을 사용할 때 요청 매개변수를 사용하지 않고 데이터를 전달하고 정리할 때 사용한다.

  • redirect:/events