Spring MVC 源碼精講
王濤
買這商品的人也買了...
-
無瑕的程式碼-敏捷軟體開發技巧守則 + 番外篇-專業程式設計師的生存之道 (雙書合購)$940$700 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
CODE COMPLETE:軟體開發實務指南, 2/e (中文版) (Code Complete: A Practical Handbook of Software Construction, 2/e)$1,280$998 -
MongoDB 技術手冊, 3/e (MongoDB: The Definitive Guide: Powerful and Scalable Data Storage, 3/e)$780$616 -
大話資料結構:全新彩色版$780$616 -
$500Spring Batch 權威指南 (The Definitive Guide to Spring Batch: Modern Finite Batch Processing in the Cloud) -
Servlet & JSP 技術手冊 -- 邁向 Spring Boot, 2/e$620$490 -
Spring Security 實戰 (Spring Security in Action)$834$792 -
Java SE 17 技術手冊$680$537 -
Good Code, Bad Code|寫出高品質的程式碼 (Good Code, Bad Code: Think Like a Software Engineer)$520$411 -
Web API 設計原則|API 與微服務傳遞價值之道 (Principles of Web API Design: Delivering Value with APIs and Microservices)$520$411 -
高並發系統實戰派:集群、Redis 緩存、海量存儲、Elasticsearch、RocketMQ、微服務、持續集成等$654$621 -
$704Vue.js 3.0 企業級管理後臺開發實戰:基於 Element Plus -
$426Spring Boot 開發與測試實戰 -
$602Java 高並發核心編程 捲3:億級用戶 Web 應用架構與實戰 (加強版) -
Java 高並發核心編程 捲2:多線程、鎖、JMM、JUC、高並發設計模式 (加強版)$708$673 -
OAuth 2.0 從入門到實戰:利用驗證和授權守護 API 的安全$600$468 -
Java 高並發核心編程 捲1:NIO、Netty、Redis、ZooKeepe (加強版)$828$787 -
$654搞定系統設計:面試敲開大廠的門 -
建立演進式系統架構|支援常態性的變更, 2/e (Building Evolutionary Architectures: Automated Software Governance, 2/e)$580$458 -
Beyond XSS:探索網頁前端資安宇宙$880$695 -
API 設計模式|簡化整合的訊息交換技術 (Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges)$850$672 -
資料庫內部原理|深入了解分散式資料系統的運作方式$780$616 -
演算法導論, 4/e (Introduction to Algorithms, 4/e)$1,800$1,422 -
無瑕的程式碼 軟體工匠篇:程式設計師必須做到的紀律、標準與倫理 (Clean Craftsmanship: Disciplines, Standards, and Ethics)$720$562
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書從搭建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.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.3JSR303 參數驗證用例
15.4JSR303參數驗證源碼分析
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註解的整體流程分析
小結



