前言
Spring MVC 人門很簡單,但是要想真正使用好卻並非易事,而且現在也沒有全面、深入的使用資料,以致在實際使用的過程中程序員經常會遇到各種各樣的問題而不知道如!何解決。對Spring MVC這樣的開源項目來說,最好的學習方法當然是分析它的源代碼,分析透源代碼不僅可以讓我們更靈活地使用Spring MVC來開發高質量的產品,而且可以學習到其中的很多優秀的編程技巧和設計理念。
關於《SpringMVC源代碼分析與實踐》這份PDF我這邊只列舉了其中的目錄還有部分知識點的部分截圖,由於這份PDF太大了,為了不影響觀看所以只能列舉了一部分。需要的可以關注公眾號“有故事的程序員”獲取這份PDF
目錄:
第一篇第一章:網站架構及其演變過程
1.1軟件的三大類型
1.2基礎的結構並不簡單
1.3架構演變的起點
1.4 海量數據的解決方案
1.4.1緩存和頁面靜態化
1.4.2數據庫優化
1.4.3分離活躍數據
1.4.4批量讀取和延遲修改
1.4.5讀寫分離
1.4.6分佈式數據庫
1.4.7 NoSQL和Hadoop
1.5高併發的解決方案
1.5.1應用和靜態資源分離
1.5.2頁面緩存
1.5.3集群與分佈式
1.5.4反向代理
1.5.5 CDN
1.6底層的優化
1.7小結
第2章常見協議和標準
2.1 DNS協議
2.2 TCP/IP協議與Socket
2.3 HTTP協議
2.4 Servlet與Java Web開發
第3章DNS的設置
3.1 DNS解析
3.2 Windows 7設置DNS服務器
3.3 Windows設置本機域名和IP的對應關係
第4章Java 中Socket的用法
4.1普通Socket的用法
4.2NioSocket的用法
第5章自己動手實現HTTP協議
第6章詳解Servlet
6.1 Servlet接口
6.2 GenerieServlet
6.3 HttpServlet
第7章Tomcat分析
7.1 Tomcat的頂層結構及啟動過程
7.1.1 Tomcat的頂層結構
7.1.2 Bootstrap的啟動過程
7.1.3 Catalina的啟動過程
7.1.4 Server的啟動過程
7.1.5 Service的啟動過程
7.2 Tomcat的生命週期管理
7.2.1 Lifecycle接口
7.2.2 LifecycleBase
7.3 Container分析
7.3.1 ContainerBase的結構
7.3.2 Container的4個子容器
7.3.34種容器的配置方法
7.3.4 Container的啟動
7.4Pipeline-Value管道
7.4.1 Pipeline-Value處理模式
7.4.2 Pipeline-Value的實現方法
7.5 Connector分析
7.5.1 Connector的結構
7.5.2 Connector自身類
7.5.3 ProtocolHandler
7.5.4處理TCP/IP協議的Endpoint
7.5.5處理HTTP協議的Processor
7.5.6適配器Adapter
第二篇俯視Spring MVC
第8章Spring MVC之初體驗
8.1環境搭建
8.2 Spring MVC最簡單的配置
8.2.1在web.xml中配置Servlet
8.2.2創建Spring MVC的xmⅠ配置文件
8.2.3創建Controller和view
8.3關聯spring源代碼
8.4小結
第9章創建Spring MVC之器
9.1整體結構介紹
9.2 HttpServletBean
9 3 FrameworkServle
t9.4 DispatcherServlet
9.5小結
第10章Spring MVC之用
10.1 HttpServletBean
10.2FrameworkServlet
10.3 DispatcherServlet
10.4 doDispatch結構
10.5小結
第三篇Spring MVC組件分析
第11章組件概覽
11.1 HandlerMapping
11.2 HandlerAdapter
11.3 HandlerExceptionResolver
11.4 ViewResolver
11.5 RequestToViewNameTranslator
11.6 LocaleResolver
11.7 ThemeResolver
11.8 MultipartResolver
11.9 FlashMapManager
11.10小結
第12章HandlerMapping
12.1 AbstractHandlerMapping
12.1.1創建AbstractHandlerMapping之器
12.1.2 AbstractHandlerMapping之用
12.2 AbstractUrlHandlerMapping系列
12.2.1 AbstractUrlHandlerMapping
12.2.2SimpleUrlHandlerMapping
12.2.3 AbstractDetectingUrlHandler-Mapping
12.3 AbstractHandlerMethodMapping系列
12.3.1創建AbstractHandlerMethod-Mapping系列之器
12.3.2 AbstractHandlerMethodMapping系列之用
12.4小結
第13章HandlerAdapter
13.1 RequestMappingHandlerAdapter概述
13.2 RequestMappingHandlerAdapter自身結構
13.2.1創建RequestMappingHandler-Adapter之器
13.2.2 RequestMappingHandlerAdapter之用
13.2.3小結
13.3 ModelAndViewContainer
13.4 SessionAttributesHandler和SessionAttributeStore
13.5 ModelFactory
13.5.1初始化Model
13.5.2更新Model
13.6 ServletlnvocableHandlerMethod
13.6.1 HandlerMethod
13.6.2 InvocableHandlerMethod
13.6.3 ServletlnvocableHandler-Method
13.7 HandlerMethodArgumentResolver
13.8 HandlerMethodReturnvalue-Handler
13.9小結
第14章ViewResolver
14.1 ContentNegotiatingViewResolver
14.2 AbstractCachingViewResolver系列UrlBasedViewResolver
14.3小結
第15章RequestToviewName-Translator
第16章HandlerExceptionResolver
16.1 AbstractHandlerException-Resolver
16.2 ExceptionHandlerException-Resolver
16.3 DefaultHandlerExceptionResolver
16.4 ResponseStatusExceptionResolver
16.5SimpleMappingExceptionResolver
16.6小結
第17章MultipartResolver
17.1 StandardServletMultipart-Resolver
17.2 CommonsMultipartResolver
17.3小結
第18章LocaleResolver
第19章ThemeResolver
第20章FlashMapManager
第四篇總結與補充
第21章總結
21.1 Spring MVC原理總結
21.2實際跟蹤一個請求
第22章異步請求
22.1 Servlet 3.0對異步請求的支持
22.1.1 Servlet3.0處理異步請求實例
22.1.2異步請求監聽器Async-Listener
22.2 Spring MVC中的異步請求
22.2.1 SpringMVC中異步請求相關組件
22.2.2 Spring MVC對異步請求的支持
22.2.3 WebAsyncTask和Callable類型異步請求的處理過程及用法
22.2.4 DeferredResult類型異步請求的處理過程及用法
22.2.5 ListenableFuture類型異步請求的處理過程及用法
22.3小結
獲取這份《SpringMVC源代碼分析與實踐》的方式,需要的可以關注公眾號“有故事的程序員”獲取這份PDF