內容介紹
本書是系統學習Servlet和JSP的必讀之作。由全球知名的Java技術專家(《How Tomcat Works》作者)親自執筆,不僅全面解讀Servlet 和JSP 的最新技術,重點闡述Java Web開發的重要編程概念和設計模型,而且包含大量可操作性極強的案例。本書共18章:第1章介紹Servlet API和幾個簡單的Servlet;第2章討論Session追蹤,以及保持狀態的4種技術;第3章和第4章系統講解JSP的語法以及JSP中的重要特性之一:Expression Language;第5~7章分別闡述JSTL中最重要的類庫、標籤的具體編寫方法和標籤檔案;第8~10章討論Servlet中的事件驅動編程、過濾器,以及Model 2架構;第11章展示如何利用Servlet 3的檔案上傳特性,以及如何在客戶端改善用戶的體驗;第12章解釋如何通過編程方式將資源傳送到瀏覽器;第13章介紹如何利用Decorator模式以及類來改變Servlet請求和回響的行為;第14章討論Servlet 3中的一項新特性,用來處理異步的操作;第15章闡述如何通過聲明和編程方式來保護Java的Web應用程式;第16章討論Servlet/JSP應用程式的部署過程,以及部署描述符中的元素;第17章闡述Servlet 3中的兩項新特性;第18章介紹Struts 2的用法。
作者介紹
作者簡介Budi Kurniawan 全球知名Java技術專家和資深Java企業級套用架構師,是軟體諮詢和技術出版公司Brainy Software的創始人,經驗十分豐富。他還是一位經驗豐富的技術作家,撰寫了深入揭示Tomcat工作原理和設計理念的名著How Tomcat Works(《深入剖析Tomcat》,機械工業出版社出版)和《Struts Design and Programming》,並在多種權威出版物上發表過100多篇文章。
譯者簡介
崔 毅 JustCommodity Software Solution Pte 公司技術部經理。畢業於北京航空航天大學計算機學院,獲碩士學位,主要研究Web服務、信息交換中間件。目前在新加坡生活和工作,先後從事技術開發、系統分析、系統實施、諮詢顧問和產品研發管理等工作,有多年的開發設計和管理經驗。
俞哲皆 中國電信莆田分公司產品運營中心產品經理,主要從事通信行業業務系統分析、設計、開發、項目管理等工作,以及Java Web套用系統開發、智慧型終端Android平台套用開發及基於HTML5跨手機平台的套用開發,熟悉Java開發技術,致力於移動終端的套用開發,熱衷於開源技術學習與相關討論。
俞黎敏 IBM軟體部高級信息工程師、資深技術顧問,主要負責IBM WebSphere系列產品的技術支持工作,專注於產品新特性、系統性能調優、疑難問題診斷與解決。開源愛好者,滿江紅論壇的核心成員,組織翻譯了大量開源技術文檔和資料,深受社區成員擁戴。利用業餘時間擔任CSDN、CJSDN、Dev2Dev、Matrix、JavaWorldTW、Spring中文網、WebSphereChina.net等Java論壇的版主,在各大技術社區為推動開源和敏捷開發做出了積極的貢獻。參與審校和翻譯了《Ajax設計模式》、《CSS實戰手冊》、《Hibernate實戰(第2版)》、《Java腳本編程》、《Effective Java中文版(第2版)》、《REST實戰中文版》、《Java 7程式設計》等著作。
作品目錄
譯者序前 言
第1章 Servlet / 1
1.1 Servlet API概述 / 1
1.2 Servlet / 2
1.3 編寫基礎的Servlet應用程式 / 3
1.4 ServletRequest / 6
1.5 ServletResponse / 7
1.6 ServletConfig / 8
1.7 ServletContext / 10
1.8 GenericServlet / 11
1.9 HTTP Servlet / 13
1.10 處理HTML表單 / 15
1.11 使用部署描述符 / 21
1.12 小結 / 23
第2章 Session管理 / 24
2.1 網址重寫 / 24
2.2 隱藏域 / 29
2.3 cookie / 34
2.4 HttpSession對象 / 42
2.5 小結 / 51
第3章 JSP / 52
3.1 JSP概述 / 52
3.2 備註 / 57
3.3 隱式對象 / 57
3.4 指令 / 60
3.5 腳本元素 / 63
3.6 動作 / 68
3.7 小結 / 71
第4章 EL / 72
4.1 EL語法 / 72
4.2 訪問JavaBean / 74
4.3 EL隱式對象 / 75
4.4 使用其他EL運算符 / 78
4.5 使用EL / 80
4.6 在JSP 2.0及更高版本中配置EL / 83
4.7 小結 / 85
第5章 JSTL / 86
5.1 下載JSTL / 86
5.2 JSTL類庫 / 86
5.3 通用動作指令 / 87
5.4 條件式動作指令 / 91
5.5 iterator動作指令 / 93
5.6 格式化動作指令 / 102
5.7 函式 / 109
5.8 小結 / 114
第6章 編寫定製標籤 / 115
6.1 定製標籤概述 / 115
6.2 簡單的標籤處理器 / 116
6.3 SimpleTag範例 / 116
6.4 處理屬性 / 119
6.5 管理標籤主體/ 122
6.6 編寫EL函式 / 125
6.7 發布定製標籤 / 126
6.8 小結 / 128
第7章 標籤檔案 / 129
7.1 標籤檔案簡介 / 129
7.2 我們的第一個標籤檔案 / 130
7.3 標籤檔案指令 / 131
7.4 doBody / 139
7.5 invoke / 141
7.6 小結 / 143
第8章 監聽器 / 144
8.1 監聽器接口和註冊 / 144
8.2 Servlet Context監聽器 / 145
8.3 Session監聽器 / 148
8.4 ServletRequest監聽器 / 153
8.5 小結 / 155
第9章 過濾器 / 156
9.1 Filter API / 156
9.2 過濾器的配置 / 157
9.3 範例1:日誌過濾器 / 159
9.4 範例2:圖片保護過濾器 / 163
9.5 範例3:下載計數過濾器 / 164
9.6 過濾器的順序 / 168
9.7 小結 / 169
第10章 應用程式設計 / 170
10.1 Model 1概述 / 170
10.2 Model 2概述 / 170
10.3 基於Servlet Controller的Model 2 / 172
10.4 基於Filter Dispatcher的Model 2 / 181
10.5 驗證器 / 184
10.6 資料庫訪問 / 189
10.7 依賴注入 / 199
10.8 小結 / 208
第11章 檔案上傳 / 209
11.1 客戶端編程 / 209
11.2 伺服器端編程 / 210
11.3 上傳Servlet範例 / 212
11.4 多檔案上傳 / 214
11.5 上傳客戶端 / 217
11.6 小結 / 223
第12章 檔案下載 / 224
12.1 檔案下載概述 / 224
12.2 範例1:隱藏資源 / 225
12.3 範例2:防止跨站引用 / 230
12.4 小結 / 232
第13章 請求和回響的裝飾 / 233
13.1 Decorator模式 / 233
13.2 Servlet Wrapper類 / 234
13.3 範例:AutoCorrect過濾器 / 235
13.4 小結 / 242
第14章 異步處理 / 243
14.1 概述 / 243
14.2 編寫異步的Servlet和Filter / 243
14.3 編寫異步的Servlet / 244
14.4 異步監聽器 / 249
14.5 小結 / 251
第15章 安全性 / 252
15.1 驗證和授權 / 252
15.2 驗證方法 / 256
15.3 SSL / 263
15.4 通過編程確保全全性 / 268
15.5 小結 / 271
第16章 部署 / 272
16.1 部署描述符概述 / 272
16.2 部署 / 284
16.3 Web Fragment / 285
16.4 小結 / 287
第17章 動態註冊和Servlet容器初始化 / 288
17.1 動態註冊 / 288
17.2 Servlet容器初始化 / 291
17.3 小結 / 293
第18章 Struts 2簡介 / 294
18.1 Struts 2的優勢 / 294
18.2 Struts 2工作原理 / 295
18.3 攔截器 / 297
18.4 Struts 2的配置檔案 / 299
18.5 簡單的Struts應用程式 / 307
18.6 小結 / 311
附錄A Tomcat / 312
附錄B Web註解 / 316
附錄C SSL證書 / 320