欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Spring MVC源码精讲/软件开发源码精讲系列
      • 作者:王涛|责编:安妮//薛阳
      • 出版社:清华大学
      • ISBN:9787302606482
      • 出版日期:2022/10/01
      • 页数:325
    • 售价:31.96
  • 内容大纲

        本书从搭建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注解的整体流程分析
      小结