cheat sheet
集成到 DispatchServlet
- SpringBoot
- ——> DelegatingWebMvcConfiguration ——> WebMvcConfigurationSupportWebMvcConfigurer + @EnableWebMVC
- HandlerMapping
- SimpleUrlHandlerMapping
- BeanNameUrlHandlerMapping
- org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping 学会怎么定制某个 path 的 mapping
- 继承 RequestMappingInfoHandlerMapping (方法层面 Mapping)
- HandlderAdapter
- SimpleControllerHandlerAdapter
- SimpleRequestHandlerAdapter
- SimpleServletHandlerAdapter
- RequestMappingHandlerAdapter
- AbstractHandlerMethodAdapter
- HandlerExceptionResolver
- DefaultErrorAttributes, 设置错误信息至 Request
- HandlerExceptionResolverComposite, 代理聚合工具类,具体处理逻辑委托给 List<HandlerExceptionResolver>
- ExceptionHandlerExceptionResolver, 支持 @ExceptionHandler
- ResponseStatusExceptionResolver, 支持 @ResponseStatus
- DefaultHandlerExceptionResolver, 返回错误页面,设置 500 之类
集成 HandlerMapping
集成 HandlderAdapter
- HandlerMethodArgumentResolver
- HandlerMethodReturnValueHandler
- ModelAndViewResolver
- HttpMessageConverter
- @RequsetParam, @RequestPart, @PathVariable, @MatrixVariable, @RequestHeader, @Cookie
- @ModelAttribute 自解析 Request 到某个数据对象,支持在 RequestMapping Method 中使用
- @InitBinder, 绑定解析 ResMapping 特性参数,如果 String 到枚举,String 到日期等
- @ResponseBody
应用注册 Servlet
- javax.servlet.ServletContainerInitializer