本書帶領我們展開一次有意思的旅行,從開發自己的Web應用開始, 到將其部署到雲中。首先,我們會使用Spring Tool Suite和Spring Boot生成自己的Spring項目。
在開發高級的交互應用時,涉及處理文件上傳和復雜的URL,此時我們會深入研究Spring MVC的內部運行原理以及現代Web架構的理念。隨後,我們將會測試、保護和優化Spring Web應用,並且還會設計可由前端訪問的RESTful服務。zui後,所有的事情都已準備就緒,我們會將應用部署到雲提供商的服務上,邀請所有的人來訪問它 。
本書適閤已經熟悉Spring編程基礎知識並迫切希望擴展其Web技能的開發人員閱讀。
通過本書,你將學會:
■ 使用Spring Boot和Spring Tool Suite搭建自己的Web應用;
■ 探索Spring MVC的架構,瞭解在視圖間實現導航的不同工具;
■ 設計復雜的高級錶單並對模型進行校驗;
■ 創建RESTful應用,實現有意義的API,其中會帶有相關的錯誤信息;
■ 創建可維護的單元測試和驗收測試;
■ 保護應用,同時支持可擴展;
■ 通過緩存、ETags和異步響應來優化請求;
■ 將應用部署到雲中。
Spring MVC屬於SpringFrameWork的後續産品,已經融閤在Spring Web Flow裏麵。Spring 框架提供瞭構建 Web 應用程序的全功能 MVC 模塊。Spring MVC4是當前zuixin的版本,在眾多特性上有瞭進一步的提升。
在精通Spring MVC4中,我們將會從頭開始構建一個有用的Web應用。本書共計10章,分彆介紹瞭快速搭建Spring Web應用、精通MVC結構、URL映射、文件上傳與錯誤處理、創建Restful應用、保護應用、單元測試與驗收測試、優化請求、將Web應用部署到雲等內容,循序漸進地講解瞭Spring MVC4的開發技巧。
精通Spring MVC4zui適閤已經熟悉Spring編程基礎知識並迫切希望擴展其Web技能的開發人員。通過閱讀本書,讀者將深度把握Spring MVC的各項特性及實用技巧。
GeoffroyWarin從十歲就開始編程瞭,他是軟件匠藝(Software Craftsmanship)運動的堅定信奉者和開源的倡導者,他跟隨自己的內心選擇成為一名開發人員並對其堅定不移。在他的職業生涯中,一直緻力於使用Java和JavaScript語言開發企業級的Web應用。
目錄
第1章 快速搭建Spring Web應用 1
1.1 Spring Tool Suite簡介 2
1.2 IntelliJ簡介 7
1.3 start.Spring.io簡介 8
1.4 命令行方式簡介 8
1.5 那就正式開始吧 9
1.5.1 Gradle構建 11
1.5.2 讓我們看一下代碼 15
1.6 幕後的Spring Boot 17
1.6.1 分發器和multipart配置 17
1.6.2 視圖解析器、靜態資源以及
區域配置 22
1.7 錯誤與轉碼配置 24
1.8 嵌入式Servlet容器(Tomcat)的
配置 27
1.8.1 HTTP端口 29
1.8.2 SSL配置 29
1.8.3 其他配置 29
1.9 小結 30
第2章 精通MVC架構 32
2.1 MVC架構 32
2.2 對MVC的質疑及其最佳實踐 33
2.2.1 貧血的領域模型 33
2.2.2 從源碼中學習 35
2.3 Spring MVC 1-0-1 35
2.4 使用Thymeleaf 36
2.5 Spring MVC架構 40
2.5.1 DispatcherServlet 40
2.5.2 將數據傳遞到給視圖 41
2.6 Spring錶達式語言 42
2.7 結束Hello World,開始獲取
Tweet 44
2.7.1 注冊應用 44
2.7.2 搭建Spring Social Twitter 46
2.7.3 訪問Twitter 46
2.8 Java 8的流和lambda錶達式 48
2.9 使用WebJars實現質感設計 49
2.9.1 使用布局 52
2.9.2 導航 54
2.10 檢查點 59
2.11 小節 59
第3章 處理錶單和復雜的URL映射 60
3.1 基本信息頁——錶單 60
3.2 校驗 68
3.2.1 自定義校驗信息 70
3.2.2 用於校驗的自定義注解 73
3.3 國際化 74
3.3.1 修改地域 76
3.3.2 翻譯應用的文本 79
3.3.3 錶單中的列錶 81
3.4 客戶端校驗 84
3.5 檢查點 86
3.6 小結 87
第4章 文件上傳與錯誤處理 88
4.1 上傳文件 88
4.1.1 將圖片寫入到響應中 93
4.1.2 管理上傳屬性 94
4.1.3 展現上傳的圖片 97
4.1.4 處理文件上傳的錯誤 99
4.2 轉換錯誤信息 102
4.3 將基本信息放到會話中 103
4.4 自定義錯誤頁麵 107
4.5 使用矩陣變量進行URL映射 108
4.6 將其組閤起來 114
4.7 檢查點 121
4.8 小結 122
第5章 創建RESTful應用 123
5.1 什麼是REST 123
5.2 Richardson的成熟度模型 124
5.2.1 第0級——HTTP 124
5.2.2 第1級——資源 124
5.2.3 第2級——HTTP動作 124
5.2.4 第3級——超媒體控製 126
5.3 API版本化 127
5.4 有用的HTTP代碼 127
5.5 客戶端為王 128
5.6 調試RESTful API 130
5.6.1 JSON格式化擴展 130
5.6.2 瀏覽器中的RESTful
客戶端 130
5.6.3 httpie 131
5.7 自定義JSON輸齣 131
5.8 用戶管理API 136
5.9 狀態碼與異常處理 140
5.9.1 帶有狀態碼的
ResponseEntity 140
5.9.2 使用異常來處理狀態碼 142
5.10 通過Swagger實現文檔化 146
5.11 生成XML 148
5.12 檢查點 149
5.13 小結 150
第6章 保護應用 151
6.1 基本認證 151
6.1.1 用戶授權 152
6.1.2 URL授權 155
6.1.3 Thymeleaf安全標簽 156
6.2 登錄錶單 158
6.3 Twitter認證 163
6.3.1 搭建社交認證環境 164
6.3.2 詳解 167
6.4 分布式會話 169
6.5 SSL 171
6.5.1 生成自簽名的證書 172
6.5.2 單一模式 173
6.5.3 雙通道模式 173
6.5.4 置於安全的服務器之後 174
6.6 檢查點 175
6.7 小結 175
第7章 不要心存僥幸——單元測試與
驗收測試 176
7.1 為什麼要測試我的代碼 176
7.2 該如何測試自己的代碼 177
7.3 測試驅動開發 178
7.4 單元測試 179
7.5 驗收測試 180
7.6 第一個單元測試 180
7.7 Mock與Stub 184
7.7.1 使用Mockito進行mock 184
7.7.2 在測試時Stub bean 186
7.7.3 該使用Mock還是Stub 189
7.8 對REST控製器進行單元
測試 189
7.9 測試認證 196
7.10 編寫驗收測試 198
7.10.1 Gradle配置 198
7.10.2 第一個FluentLenium
測試 200
7.10.3 使用FluentLenium創建
頁麵對象 206
7.10.4 用Groovy實現測試 209
7.10.5 使用Spock進行單元
測試 210
7.10.6 使用Geb進行集成測試 213
7.10.7 在Geb中使用頁麵對象 215
7.11 檢查點 218
7.12 小結 220
第8章 優化請求 221
8.1 生産環境的profile 221
8.2 Gzip 222
8.3 緩存控製 222
8.4 應用緩存 224
8.4.1 緩存失效 229
8.4.2 分布式緩存 230
8.5 異步方法 231
8.6 ETag 237
8.7 WebSocket 241
8.8 檢查點 244
8.9 小結 245
第9章 將Web應用部署到雲中 246
9.1 選擇主機 246
9.1.1 Cloud Foundry 246
9.1.2 OpenShift 247
9.1.3 Heroku 248
9.2 將Web應用部署到Pivotal Web
Services中 248
9.2.1 安裝Cloud Foundry CLI
工具 248
9.2.2 裝配應用 249
9.2.3 激活Redis 252
9.3 將Web應用部署到
Heroku中 253
9.3.1 安裝工具 254
9.3.2 搭建應用 255
9.3.3 Heroku profile 256
9.3.4 運行應用 257
9.3.5 激活Redis 258
9.4 改善應用的功能 260
9.5 小結 261
第10章 超越Spring Web 262
10.1 Spring生態係統 262
10.1.1 核心 263
10.1.2 執行 263
10.1.3 數據 263
10.1.4 其他值得關注的項目 264
10.2 部署 264
10.3 單頁麵應用 265
10.3.1 參與者 265
10.3.2 未來的前景 266
10.3.3 實現無狀態 267
10.4 小結 267
這本書給我的第一印象是,它的內容實在是太“紮實”瞭。我從事Java開發多年,Spring MVC也用得不少,但總感覺自己對它的理解不夠係統。這本書就像一位老練的匠人,一點一點地雕琢著Spring MVC的每一個細節,讓我看到瞭它不為人知的“骨骼”和“血脈”。 我特彆欣賞作者在講解Bean的初始化和生命周期時,所進行的深入分析。這讓我明白瞭Spring MVC是如何管理和復用對象的,以及這對於提高應用程序的性能有什麼樣的意義。之前我隻是知道Spring是IoC容器,但通過這本書,我纔真正理解瞭IoC和DI在Spring MVC中的具體體現。 書中關於MVC設計模式的討論,也讓我受益匪淺。作者不僅僅是簡單地介紹MVC三層結構,而是深入分析瞭Spring MVC是如何在Web層實現這種模式的,以及它帶來的好處。這讓我對如何設計更加清晰、易於維護的Web應用程序有瞭更深刻的認識。 對於Web開發中的常見問題,比如跨域請求、Session管理、Cookie操作等,這本書也給齣瞭非常實用的解決方案。我特彆喜歡書中關於Ajax和JSON交互的處理方式,這讓我能夠更輕鬆地構建前後端分離的應用程序。 另外,書中關於Spring MVC的測試,也進行瞭詳細的介紹。單元測試和集成測試對於保證應用程序的質量至關重要,而這本書則為我們提供瞭如何高效地編寫Spring MVC測試的指導。 總而言之,這本書的內容詳實,講解深入,邏輯嚴謹。它不僅僅是一本技術書籍,更是一次對Spring MVC的全麵而深刻的梳理。讀完這本書,我感覺自己對Spring MVC的掌握程度,已經達到瞭一個全新的境界。
評分我一直以來都在Java Web開發的道路上探索,Spring MVC作為其中的佼佼者,更是我學習的重點。在眾多Spring MVC的書籍中,《精通Spring MVC 4》無疑是最令我印象深刻的一本。這本書的講解角度非常獨特,它不僅僅停留在API的介紹,而是從更深層次揭示瞭Spring MVC的設計思想和技術實現。 作者的行文風格非常灑脫,他能夠將復雜的概念用簡潔明瞭的語言呈現齣來。我尤其喜歡書中關於Spring MVC的“可擴展性”的討論。它詳細講解瞭如何通過攔截器(Interceptor)、視圖解析器(ViewResolver)的定製,以及消息轉換器(HttpMessageConverter)的實現,來擴展Spring MVC的功能。 這本書對於Spring MVC的異常處理機製,也進行瞭深入的剖析。在實際項目中,異常處理往往是容易被忽視但又至關重要的環節。而這本書則提供瞭一套完整的異常處理方案,讓我能夠更好地構建健壯、容錯性強的Web應用程序。 我特彆贊賞書中關於Spring MVC與AJAX的整閤。在現代Web開發中,AJAX已經成為必不可少的技術。這本書詳細講解瞭如何利用Spring MVC來處理AJAX請求,如何返迴JSON數據,以及如何處理AJAX中的各種錯誤。 此外,書中還對Spring MVC的性能優化進行瞭探討。通過對各種配置參數的調整,以及對代碼結構的優化,能夠顯著提升Web應用程序的響應速度。這本書為我提供瞭許多實用的技巧和方法。 總而言之,這本書的內容非常精煉,講解深刻,並且具有極強的實踐指導意義。它不僅僅是教我如何使用Spring MVC,更是讓我理解瞭Spring MVC的“靈魂”。我強烈推薦所有希望在Spring MVC領域取得突破的開發者閱讀此書。
評分這本書的封麵設計簡潔而富有力量,光是看到“精通Spring MVC 4”這幾個字,就讓我對它充滿瞭期待。我一直以來都在Java Web開發領域摸爬滾打,Spring MVC更是我工作中離不開的利器。然而,盡管我日常也在使用,但總感覺對它的理解不夠深入,很多時候隻是停留在API的調用層麵,對於其內部的運行機製、設計理念,以及如何更高效地運用它來解決復雜問題,我都有著強烈的求知欲。 這本書的齣現,仿佛是一盞指路明燈,照亮瞭我學習的道路。它的內容詳實,結構清晰,從最基礎的MVC模式講解,到Spring MVC的核心組件,再到各種高級特性,都進行瞭循序漸進的闡述。我尤其欣賞作者在講解過程中,不僅提供瞭大量的代碼示例,還對每一個示例的背後原理進行瞭深入的剖析。這讓我能夠更好地理解“為什麼”這樣做,而不是僅僅停留在“怎麼做”。 在閱讀過程中,我發現自己對於DispatcherServlet、HandlerMapping、Controller、ViewResolver等關鍵角色的理解不再模糊。書中對於它們之間的交互流程,以及它們如何協同工作來完成一個Web請求的處理,都進行瞭非常細緻的描述。這對於我優化代碼結構、提高應用程序的性能,以及排查潛在的bug,都起到瞭至關重要的作用。 此外,書中對於RESTful風格的服務開發、文件上傳下載、錶單處理、數據綁定、異常處理等實戰性極強的方麵,也進行瞭詳盡的介紹。這些都是我們在實際項目中經常會遇到的場景,而這本書恰恰為我們提供瞭一套完整而成熟的解決方案。讀完這本書,我感覺自己在Spring MVC的應用能力上,得到瞭質的飛躍。 總而言之,這本書不僅僅是一本技術手冊,更像是一位經驗豐富的導師,用他深厚的功底和獨到的見解,引領我一步步深入Spring MVC的殿堂。對於所有希望在Spring MVC領域有所建樹的開發者來說,這本書絕對是不可錯過的寶藏。
評分說實話,拿到這本書的時候,我抱著一種“試試看”的心態。畢竟市麵上關於Spring MVC的書籍並不少,要找到一本真正能夠“精通”的,實在不容易。但是,翻開第一頁,我便被它深深吸引瞭。作者的文筆流暢,條理清晰,仿佛在娓娓道來一個引人入勝的故事。 這本書並沒有一開始就陷入枯燥的技術細節,而是先為我們構建瞭一個宏大的MVC框架圖景,讓我們從整體上理解Spring MVC的架構。然後,再逐一深入到各個組件的實現原理。我特彆喜歡它在講解過程中,經常會引用一些設計模式和設計原則,讓我們明白Spring MVC的設計哲學。 書中關於數據綁定的章節,讓我受益匪淺。之前在處理錶單提交時,總會遇到各種各樣的數據格式不匹配或者類型轉換的問題,而這本書則詳細講解瞭Spring MVC是如何通過Converter和Formatter來實現靈活的數據綁定的。通過學習,我不僅解決瞭過去的痛點,還學會瞭如何編寫更優雅、更健壯的數據處理代碼。 另外,關於RESTful API的設計和實現,這本書也提供瞭非常深入的指導。從HTTP動詞的選擇,到請求和響應體的設計,再到狀態碼的使用,都進行瞭清晰的闡述。這對於我構建符閤行業標準的Web服務,提供瞭寶貴的參考。 總而言之,這本書給瞭我一種“茅塞頓開”的感覺。它不僅僅教會我“怎麼做”,更教會我“為什麼這樣做”。這種對底層原理的深入探究,讓我對Spring MVC的理解達到瞭一個新的高度。我強烈推薦所有想要深入理解Spring MVC的開發者閱讀此書。
評分一直以來,我都在Java生態中遊弋,Spring傢族更是我日常開發的核心。然而,我對Spring MVC的理解,總感覺停留在“知其然而不知其所以然”的階段。當我在書店看到《精通Spring MVC 4》時,立刻被它吸引瞭。這本書不僅僅是一個技術參考,更像是一次對Spring MVC的深度探索之旅。 作者的講解風格非常獨特,他善於將復雜的概念分解,用通俗易懂的語言和生動的比喻來解釋。我特彆喜歡書中關於Spring MVC的“生命周期”的描述,它將一個Web請求的處理過程,描繪得如同電影般流暢,讓我能夠清晰地看到每個組件是如何在幕後默默工作的。 這本書對於Spring MVC的配置管理,也進行瞭非常詳盡的介紹。無論是XML配置還是注解配置,亦或是JavaConfig,書中都給齣瞭詳細的示例和優缺點分析。這對於我們在實際項目中選擇最閤適的配置方式,提供瞭有力的支持。 我尤其關注書中關於國際化和本地化(i18n)的內容。在開發多語言支持的Web應用程序時,這部分常常是令人頭疼的。而這本書則提供瞭一套完整的解決方案,從資源文件的加載,到MessageSource的配置,再到如何與View層集成,都講解得非常到位。 此外,書中還涉及瞭Spring MVC與Spring Security的集成,這對於構建安全的Web應用程序至關重要。通過學習,我不僅理解瞭如何進行用戶認證和授權,還學會瞭如何利用Spring MVC的特性來簡化安全配置。 總體來說,這本書的內容非常全麵,覆蓋瞭Spring MVC的方方麵麵,並且深入到每一個細節。我感覺自己在這本書的引導下,對Spring MVC的掌握程度得到瞭極大的提升,也更加有信心去應對更復雜的開發挑戰。
評分說瞭質量很好,內容很全。
評分商品質量好,送貨速度快,支持京東
評分這是一本很好的書。這本書不錯,圖片文字很清晰,缺點就是基本就是介紹那個軟件,專業知識不多。
評分好好學習,天天嚮上。哈,加油。
評分商品質量好,送貨速度快,支持京東
評分非常的劃算,相當於打瞭三摺。
評分東信旅遊木木饅頭瞭地址諾羽
評分書的包裝好,紙質硬的,正版書,比其他平颱買的好多瞭
評分in action的書用來入門還是不錯的
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有