-
内容大纲
本书从搭建Spring MVC测试环境开始讲解,具备充分的Spring MVC使用说明,并且对Spring MVC核心源码进行分析。在Spring MVC开发过程中常用SpringXML模式和Spring注解模式,本书关于Spring MVC的用例说明大多数基于SpringXML模式。
本书内容包含Spring MVC中的九大核心组件的使用和源码分析、Spring MVC中的注册器分析和Spring MVC中常见的辅助接口分析,可以帮助读者快速掌握Spring MVC框架的基本使用以及Spring MVC框架中常见接口的处理逻辑。
书中的源码分析大部分情况下遵循测试用例优先,尽可能保证源码现象可复现。
本书适合具有一定Java编程基础的读者、对Spring框架有基础开发能力的读者和对Spring Web开发有一定实践经验的读者阅读、参考。 -
作者介绍
-
目录
第1章 Spring MVC环境搭建
1.1 源码环境下搭建Spring MVC工程
1.2 Spring MVC环境搭建中的其他问题
小结
第2章 Spring MVC容器初始化
2.1 DispatcherServlet
2.1.1 DispatcherServlet静态代码块分析
2.1.2 DispatcherServlet构造函数分析
2.2 HttpServletBean中init()方法分析
2.2.1 FrameworkServlet中initServletBean()方法分析
2.2.2 FrameworkServlet#configureAndRefreshWebApplicationContext()
方法分析
2.2.3 FrameworkServlet#findWebApplicationContext()方法分析
2.2.4 FrameworkServlet#createWebApplicationContext()方法分析
2.2.5 FrameworkServlet#onRefresh()方法分析
2.3 Spring MVC常规启动环境搭建
2.4 ContextLoaderListener分析
2.5 DispatcherServlet#onRefresh()分析
2.6 AbstractRefreshableApplicationContext#loadBeanDefinitions()的拓展
2.7 Spring MVC XML模式容器启动流程总结
2.8 EnableWebMvc注解
2.9 WebMvcConfigurationSupport分析
小结
第3章 HandlerMapping分析
3.1 注册HandlerMapping
3.2 getHandler()寻找处理器
3.2.1 Match异常模拟
3.2.2 handleNoMatch()分析
3.2.3 addMatchingMappings()分析
3.2.4 创建HandlerExecutionChain对象
3.2.5 跨域处理
3.3 AbstractUrlHandlerMapping中的HandlerMapping分析
3.3.1 lookupHandler()分析
3.3.2 buildPathExposingHandler()分析
3.4 HandlerMapping初始化
3.5 BeanNameUrlHandlerMapping分析
3.6 RequestMappingHandlerMapping分析
3.7 RouterFunctionMapping分析
3.8 注解模式下HandlerMethod创建
3.8.1 findBridgedMethod()分析
3.8.2 initMethodParameters()分析
3.8.3 evaluateResponseStatus()分析
3.8.4 initDescription()分析
3.9 拦截器相关分析
3.9.1 拦截器添加
3.9.2 拦截器执行
小结
第4章 HandlerAdapter分析
4.1 初识HandlerAdapter
4.2 初始化HandlerAdapter
4.3 获取HandlerAdapter
4.4 HttpRequestHandlerAdapter分析
4.5 SimpleControllerHandlerAdapter分析
4.6 Controller接口分析
4.6.1 ServletForwardingController分析
4.6.2 ParameterizableViewController分析
4.6.3 ServletWrappingController分析
4.6.4 UrlFilenameViewController分析
4.7 RequestMappingHandlerAdapter分析
4.7.1 initControllerAdviceCache()方法分析
4.7.2 部分成员变量初始化
4.7.3 handleInternal()方法分析
4.8 HandlerFunctionAdapter分析
4.9 doDispatch()中HandlerAdapter相关处理
小结
第5章 HandlerExceptionResolver分析
5.1 初识HandlerExceptionResolver
5.2 统一异常处理
5.3 HandlerExceptionResolver初始化
5.4 ExceptionHandlerExceptionResolver分析
5.4.1 ExceptionHandlerExceptionResolver#afterPropertiesSet()方法分析
5.4.2 ExceptionHandlerExceptionResolver#doResolveHandlerMethodException()分析
5.5 ResponseStatusExceptionResolver分析
5.6 DefaultHandlerExceptionResolver分析
5.7 AbstractHandlerExceptionResolver分析
5.8 SimpleMappingExceptionResolver分析
小结
第6章 LocaleResolver分析
6.1 初始化LocaleResolver
6.2 国际化测试环境搭建
6.3 LocaleChangeInterceptor分析
6.4 CookieLocaleResolver分析
6.4.1 parseLocaleCookieIfNecessary()分析
6.4.2 setLocaleContext()分析
6.5 FixedLocaleResolver分析
6.6 SessionLocaleResolver分析
6.7 AcceptHeaderLocaleResolver分析
6.8 LocaleResolver整体处理流程分析
小结
第7章 ThemeResolver分析
7.1 初始化ThemeResolver
7.2 主题测试环境搭建
7.3 ThemeChangeInterceptor分析
7.4 CookieThemeResolver分析
7.5 FixedThemeResolver分析
7.6 SessionThemeResolver分析
7.7 ResourceBundleThemeSource分析
7.8 ThemeResolver整体处理流程分析
小结
第8章 ViewResolver分析
8.1 初始化ViewResolver
8.2 ViewResolver测试用例搭建
8.3 InternalResourceViewResolver分析
8.4 UrlBasedViewResolver分析
8.4.1 buildView()方法分析
8.4.2 loadView()方法分析
8.4.3 applyLifecycleMethods()方法分析
8.4.4 createView()方法分析
8.5 XmlViewResolver分析
8.5.1 XmlViewResolver测试用例搭建
8.5.2 XmlViewResolver初始化
8.5.3 XmlViewResolver解析操作
8.5.4 XmlViewResolver摧毁
8.6 BeanNameViewResolver分析
8.6.1 BeanNameViewResolver测试用例
8.6.2 BeanNameViewResolver解析操作
8.7 XsltViewResolver分析
8.7.1 XsltViewResolver测试用例
8.7.2 XsltViewResolver解析操作
8.8 AbstractCachingViewResolver分析
8.9 ViewResolver整体处理流程
小结
第9章 MultipartResolver分析
9.1 MultipartResolver测试环境搭建
9.2 MultipartResolver初始化
9.3 CommonsMultipartResolver分析
9.4 StandardServletMultipartResolver分析
9.5 MultipartResolver整体处理流程
小结
第10章 RequestToViewNameTranslator分析
10.1 RequestToViewNameTranslator测试环境搭建
10.2 RequestToViewNameTranslator初始化
10.3 DefaultRequestToViewNameTranslator分析
10.4 RequestToViewNameTranslator整体处理流程分析
小结
第11章 FlashMapManager分析
11.1 FlashMapManager测试环境搭建
11.2 FlashMapManager初始化
11.3 SessionFlashMapManager分析
11.4 AbstractFlashMapManager分析
小结
第12章 Spring MVC注册器
12.1 CorsRegistry
12.2 InterceptorRegistry
12.3 ResourceHandlerRegistry
12.4 ViewControllerRegistry
12.5 ViewResolverRegistry
小结
第13章 Spring MVC资源相关分析
13.1 ResourceHttpRequestHandler分析
13.1.1 InitializingBean接口实现分析
13.1.2 HttpRequestHandler实现分析
13.2 资源解析器责任链分析
13.3 资源转换器责任链分析
13.3.1 CachingResourceTransformer分析
13.3.2 CssLinkResourceTransformer分析
13.3.3 AppCacheManifestTransformer分析
小结
第14章 Model和View分析
14.1 初识Model
14.2 RedirectAttributesModelMap分析
14.3 ConcurrentModel分析
14.4 ExtendedModelMap分析
14.5 初识View
14.6 JsonView分析
14.7 JstlView分析
小结
第15章 Spring MVC参数相关内容分析
15.1 @InitBinder测试用例
15.2 @InitBinder源码分析
15.3 JSR-303参数验证用例
15.4 JSR-303参数验证源码分析
15.5 @ModelAttribute测试用例
15.6 @ModelAttribute源码分析
15.6.1 ModelFactory和ModelAttribute
15.6.2 ModelAttributeMethodProcessor分析
15.6.3 createAttribute()方法分析
15.6.4 constructAttribute()方法分析
15.6.5 bindRequestParameters()方法分析
15.6.6 validateIfApplicable()方法分析
小结
第16章 Spring MVC中的HTTP消息
16.1 HTTP消息编码和解码分析
16.1.1 HTTP消息解码
16.1.2 HTTP消息编码
16.2 HTTP消息读写操作分析
16.2.1 HTTP消息读操作分析
16.2.2 ReactiveHttpInputMessage分析
16.2.3 HTTP消息写操作分析
16.2.4 ReactiveHttpOutputMessage分析
16.3 HttpMessageConverter分析
16.3.1 HttpMessageConverter测试用例搭建
16.3.2 带有@RequestBody注解的整体流程分析
小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...