图书目录

目录

第1章Spring MVC环境搭建

1.1源码环境下搭建Spring MVC工程

1.2Spring MVC环境搭建中的其他问题

小结

第2章Spring MVC容器初始化

2.1DispatcherServlet

2.1.1DispatcherServlet 静态代码块分析

2.1.2DispatcherServlet构造函数分析

2.2HttpServletBean中init()方法分析

2.2.1FrameworkServlet 中 initServletBean()方法分析

2.2.2FrameworkServlet#configureAndRefreshWebApplicationContext()

方法分析

2.2.3FrameworkServlet#findWebApplicationContext()方法分析

2.2.4FrameworkServlet#createWebApplicationContext()方法分析

2.2.5FrameworkServlet#onRefresh()方法分析

2.3Spring MVC常规启动环境搭建

2.4ContextLoaderListener 分析

2.5DispatcherServlet#onRefresh()分析

2.6AbstractRefreshableApplicationContext#loadBeanDefinitions()的拓展

2.7Spring MVC XML模式容器启动流程总结

2.8EnableWebMvc注解

2.9WebMvcConfigurationSupport 分析

小结

第3章HandlerMapping 分析

3.1注册HandlerMapping

3.2getHandler()寻找处理器

3.2.1Match 异常模拟

3.2.2handleNoMatch()分析

3.2.3addMatchingMappings()分析

3.2.4创建HandlerExecutionChain对象

3.2.5跨域处理

3.3AbstractUrlHandlerMapping 中的HandlerMapping分析

3.3.1lookupHandler()分析

3.3.2buildPathExposingHandler()分析

3.4HandlerMapping 初始化

3.5BeanNameUrlHandlerMapping分析

3.6RequestMappingHandlerMapping分析

3.7RouterFunctionMapping分析

3.8注解模式下HandlerMethod创建

3.8.1findBridgedMethod()分析

3.8.2initMethodParameters()分析

3.8.3evaluateResponseStatus()分析

3.8.4initDescription()分析

3.9拦截器相关分析

3.9.1拦截器添加

3.9.2拦截器执行

小结

第4章HandlerAdapter 分析

4.1初识 HandlerAdapter

4.2初始化 HandlerAdapter

4.3获取 HandlerAdapter

4.4HttpRequestHandlerAdapter 分析

4.5SimpleControllerHandlerAdapter 分析

4.6Controller 接口分析

4.6.1ServletForwardingController 分析

4.6.2ParameterizableViewController 分析

4.6.3ServletWrappingController 分析

4.6.4UrlFilenameViewController 分析

4.7RequestMappingHandlerAdapter 分析

4.7.1initControllerAdviceCache()方法分析

4.7.2部分成员变量初始化

4.7.3handleInternal()方法分析

4.8HandlerFunctionAdapter 分析

4.9doDispatch()中HandlerAdapter相关处理

小结

第5章HandlerExceptionResolver 分析

5.1初识HandlerExceptionResolver

5.2统一异常处理

5.3HandlerExceptionResolver 初始化

5.4ExceptionHandlerExceptionResolver分析

5.4.1ExceptionHandlerExceptionResolver#afterPropertiesSet()

方法分析

5.4.2ExceptionHandlerExceptionResolver #doResolveHandlerMethodException()

分析

5.5ResponseStatusExceptionResolver分析

5.6DefaultHandlerExceptionResolver分析

5.7AbstractHandlerExceptionResolver分析

5.8SimpleMappingExceptionResolver分析

小结

第6章LocaleResolver分析

6.1初始化LocaleResolver

6.2国际化测试环境搭建

6.3LocaleChangeInterceptor分析

6.4CookieLocaleResolver 分析

6.4.1parseLocaleCookieIfNecessary()分析

6.4.2setLocaleContext()分析

6.5FixedLocaleResolver 分析

6.6SessionLocaleResolver 分析

6.7AcceptHeaderLocaleResolver 分析

6.8LocaleResolver整体处理流程分析

小结

第7章ThemeResolver 分析

7.1初始化ThemeResolver

7.2主题测试环境搭建

7.3ThemeChangeInterceptor 分析

7.4CookieThemeResolver 分析

7.5FixedThemeResolver 分析

7.6SessionThemeResolver 分析

7.7ResourceBundleThemeSource 分析

7.8ThemeResolver 整体处理流程分析

小结

第8章ViewResolver分析

8.1初始化ViewResolver

8.2ViewResolver 测试用例搭建

8.3InternalResourceViewResolver 分析

8.4UrlBasedViewResolver 分析

8.4.1buildView()方法分析

8.4.2loadView()方法分析

8.4.3applyLifecycleMethods()方法分析

8.4.4createView()方法分析

8.5XmlViewResolver 分析

8.5.1XmlViewResolver 测试用例搭建

8.5.2XmlViewResolver 初始化

8.5.3XmlViewResolver 解析操作

8.5.4XmlViewResolver 摧毁

8.6BeanNameViewResolver 分析

8.6.1BeanNameViewResolver 测试用例

8.6.2BeanNameViewResolver解析操作

8.7XsltViewResolver 分析

8.7.1XsltViewResolver 测试用例

8.7.2XsltViewResolver 解析操作

8.8AbstractCachingViewResolver分析

8.9ViewResolver 整体处理流程

小结

第9章MultipartResolver分析

9.1MultipartResolver 测试环境搭建

9.2MultipartResolver初始化

9.3CommonsMultipartResolver 分析

9.4StandardServletMultipartResolver 分析

9.5MultipartResolver整体处理流程

小结

第10章RequestToViewNameTranslator 分析

10.1RequestToViewNameTranslator测试环境搭建

10.2RequestToViewNameTranslator初始化

10.3DefaultRequestToViewNameTranslator 分析

10.4RequestToViewNameTranslator 整体处理流程分析

小结

第11章FlashMapManager分析

11.1FlashMapManager 测试环境搭建

11.2FlashMapManager 初始化

11.3SessionFlashMapManager 分析

11.4AbstractFlashMapManager分析

小结

第12章Spring MVC注册器

12.1CorsRegistry

12.2InterceptorRegistry

12.3ResourceHandlerRegistry

12.4ViewControllerRegistry

12.5ViewResolverRegistry

小结

第13章Spring MVC资源相关分析

13.1ResourceHttpRequestHandler 分析

13.1.1InitializingBean接口实现分析

13.1.2HttpRequestHandler实现分析

13.2资源解析器责任链分析

13.3资源转换器责任链分析

13.3.1CachingResourceTransformer分析

13.3.2CssLinkResourceTransformer 分析

13.3.3AppCacheManifestTransformer 分析

小结

第14章Model 和View分析

14.1初识 Model

14.2RedirectAttributesModelMap分析

14.3ConcurrentModel分析

14.4ExtendedModelMap分析

14.5初识 View

14.6JsonView分析

14.7JstlView分析

小结

第15章Spring MVC参数相关内容分析

15.1@InitBinder 测试用例

15.2@InitBinder 源码分析

15.3JSR303 参数验证用例

15.4JSR303参数验证源码分析

15.5@ModelAttribute 测试用例

15.6@ModelAttribute 源码分析

15.6.1ModelFactory和ModelAttribute

15.6.2ModelAttributeMethodProcessor 分析

15.6.3createAttribute()方法分析

15.6.4constructAttribute()方法分析

15.6.5bindRequestParameters()方法分析

15.6.6validateIfApplicable()方法分析

小结

第16章Spring MVC中的HTTP消息

16.1HTTP消息编码和解码分析

16.1.1HTTP消息解码

16.1.2HTTP消息编码

16.2HTTP消息读写操作分析

16.2.1HTTP消息读操作分析

16.2.2ReactiveHttpInputMessage 分析

16.2.3HTTP消息写操作分析

16.2.4ReactiveHttpOutputMessage分析

16.3HttpMessageConverter 分析

16.3.1HttpMessageConverter 测试用例搭建

16.3.2带有@RequestBody注解的整体流程分析

小结