![]()
内容推荐 本书从搭建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 |