ServletJSP深入詳解——基於Tomcat的Web開發

ServletJSP深入詳解——基於Tomcat的Web開發

《ServletJSP深入詳解——基於Tomcat的Web開發》,作者孫鑫,2019年6月電子工業出版社出版,本書遵照Servlet和JSP 規範,系統、完整地介紹了Java Web開發中的各種技術,從知識的講解→知識的運用→實際問題的解決,一步一步地引導讀者掌握Java Web開發的知識體系結構。

基本介紹

  • 書名:ServletJSP深入詳解——基於Tomcat的Web開發
  • 作者:孫鑫
  • ISBN:978-7-121-36150-0
  • 頁數:688
  • 定價:139
  • 出版社:電子工業出版社
  • 出版時間:2019-06
  • 裝幀:平裝
  • 開本:16
內容提要,目錄,作者簡介,

內容提要

《ServletJSP深入詳解——基於Tomcat的Web開發(暢銷書升級版)》共分3篇,分別為Servlet篇、JSP篇及其套用篇,書中展示了Java Web開發中各種技術的套用,幫助讀者快速掌握Java Web開發。
在知識的講解上,本書採用理論與實踐相結合的方式,從程式運行的內部機制進行分析講解,並通過大量的實例和實驗來驗證並運用本書的知識。大部分章節都提供了多個例子,而且很多例子都是目前Web開發中經常使用的,具有相當高的實用價值。
《ServletJSP深入詳解——基於Tomcat的Web開發(暢銷書升級版)》不僅可以作為Java Web開發的學習用書,還可以作為從事Java Web開發的程式設計師的參考用書和必備手冊。

目錄

Servlet篇
第1章Servlet與Tomcat 1
1.1 Web技術的發展 1
1.2 Servlet與Servlet容器 3
1.3 Servlet容器的分類 4
1.4 Tomcat簡介 5
1.5 Tomcat的安裝與配置 6
1.5.1 Tomcat的目錄結構 8
1.5.2 運行Tomcat 9
1.5.3 Tomcat啟動分析 13
1.6 Tomcat的體系結構 15
1.7 Tomcat的管理程式 17
1.8 小結 19
第2章Servlet技術 20
2.1 Servlet API 20
2.1.1 Servlet接口 21
2.1.2 ServletRequest和ServletResponse 22
2.1.3 ServletConfig 25
2.1.4 一個簡單的Servlet 25
2.1.5 GenericServlet 33
2.1.6 HttpServlet 34
2.1.7 HttpServletRequest和HttpServletResponse 35
2.2 幾個實例 38
2.2.1 實例一:WelcomeServlet 38
2.2.2 實例二:OutputInfoServlet 44
2.2.3 實例三:LoginServlet 48
2.3 Servlet異常 53
2.3.1 ServletException類 53
2.3.2 UnavailableException類 53
2.4 Servlet生命周期 54
2.5 Servlet上下文 56
2.5.1 ServletContext接口 56
2.5.2 頁面訪問量統計實例 58
2.6 請求轉發 62
2.6.1 RequestDispatcher接口 62
2.6.2 得到RequestDispatcher對象 63
2.6.3 請求轉發的實例 63
2.6.4 sendRedirect()和forward()方法的區別 70
2.7 小結 71
第3章Web應用程式的部署 72
3.1 配置任意目錄下的Web應用程式 72
3.2 WAR檔案 75
3.3 與Servlet配置相關的元素 78
3.3.1 <servlet>元素及其子元素 78
3.3.2 <servlet-mapping>元素及其子元素 80
3.4 一個實例 82
3.5 小結 86
第4章資料庫訪問 87
4.1 JDBC驅動程式的類型 88
4.1.1 JDBC-ODBC橋 88
4.1.2 部分本地API、部分Java驅動程式 89
4.1.3 JDBC網路純Java驅動程式 89
4.1.4 本地協定的純Java驅動程式 89
4.2 安裝資料庫 90
4.3 下載MySQL JDBC驅動 94
4.4 JDBC API 95
4.4.1 載入並註冊資料庫驅動 96
4.4.2 建立到資料庫的連線 99
4.4.3 訪問資料庫 100
4.4.4 事務處理 129
4.4.5 可滾動和可更新的結果集 138
4.5 JDBC數據源和連線池 140
4.6 小結 145
第5章會話跟蹤 146
5.1 用於會話跟蹤的技術 147
5.1.1 SSL會話 147
5.1.2 Cookies 148
5.1.3 URL重寫 149
5.2 Java Servlet API的會話跟蹤 149
5.2.1 HttpSession接口 150
5.2.2 Session的生命周期 151
5.2.3 Cookie的套用 165
5.2.4 Session和Cookie的深入研究 173
5.3 Session的持久化 175
5.4 小結 176
第6章Servlet的異常處理機制 177
6.1 聲明式異常處理 178
6.1.1 HTTP錯誤代碼的處理 178
6.1.2 Java異常的處理 182
6.2 程式式異常處理 185
6.2.1 在try-catch語句中處理異常 185
6.2.2 使用RequestDispatcher來處理異常 188
6.3 小結 191
第7章開發執行緒安全的Servlet 192
7.1 多執行緒的Servlet模型 192
7.2 執行緒安全的Servlet 193
7.2.1 變數的執行緒安全 193
7.2.2 屬性的執行緒安全 202
7.3 SingleThreadModel接口 206
7.4 小結 206
JSP篇
第8章JSP技術 207
8.1 JSP簡介 207
8.2 JSP的運行機制 208
8.3 JSP的語法 213
8.3.1 指令元素(directive element) 213
8.3.2 腳本元素(scripting element) 218
8.3.3 動作元素(action element) 220
8.3.4 注釋 228
8.4 JSP的隱含對象 229
8.4.1 pageContext 229
8.4.2 out 230
8.4.3 page 231
8.4.4 exception 231
8.5 對象和範圍 232
8.6 留言板程式 235
8.7 留言板管理程式 244
8.8 JSP文檔 250
8.8.1 JSP文檔的標識 251
8.8.2 JSP文檔中的元素語法 251
8.9 小結 255
第9章JSP與JavaBean 256
9.1 JavaBean簡介 256
9.1.1 屬性的命名 257
9.1.2 屬性的類型 259
9.2 在JSP中使用JavaBean 259
9.2.1 <jsp:useBean> 260
9.2.2 <jsp:setProperty> 261
9.2.3 <jsp:getProperty> 262
9.2.4 示例 262
9.3 網上書店程式 267
9.4 小結 291
第10章JSP開發的兩種模型 292
10.1 模型1 292
10.2 模型2 296
10.3 MVC模式的實現總結 303
10.4 小結 303
第11章標籤庫(Tag Library) 304
11.1 標籤庫API 304
11.1.1 標籤的形式 304
11.1.2 Tag接口 306
11.1.3 IterationTag接口 307
11.1.4 BodyTag接口 309
11.2 標籤庫描述符 310
11.2.1 <taglib>元素 311
11.2.2 <validator>元素 312
11.2.3 <listener>元素 313
11.2.4 <tag>元素 313
11.2.5 <tag-file>元素 316
11.2.6 <function>元素 316
11.3 傳統標籤的開發 318
11.3.1 實例一:<hello>標籤 318
11.3.2 實例二:<max>標籤 321
11.3.3 實例三:<greet>標籤 323
11.3.4 實例四:<switch>標籤 326
11.3.5 實例五:<iterate>標籤 331
11.4 簡單標籤的開發 337
11.4.1 SimpleTag接口 337
11.4.2 實例一:<welcome>標籤 339
11.4.3 實例二:<max_ex>標籤 341
11.5 自定義標籤開發總結 343
11.6 小結 343
第12章表達式語言(EL) 344
12.1 語法 344
12.1.1 “[ ]”和“.”操作符 344
12.1.2 算術操作符 345
12.1.3 關係操作符 346
12.1.4 邏輯操作符 346
12.1.5 Empty操作符 346
12.1.6 條件操作符 346
12.1.7 圓括弧 346
12.1.8 操作符的優先權 346
12.2 隱含對象 347
12.3 命名變數 348
12.4 保留的關鍵字 349
12.5 函式 349
12.6 小結 351
第13章JSP標準標籤庫(JSTL) 352
13.1 JSTL簡介 352
13.2 配置JSTL 353
13.3 Core標籤庫 354
13.3.1 一般用途的標籤 354
13.3.2 條件標籤 358
13.3.3 疊代標籤 361
13.3.4 URL相關的標籤 364
13.4 I18N標籤庫 369
13.4.1 國際化標籤 369
13.4.2 格式化標籤 375
13.5 SQL標籤庫 384
13.5.1 <sql:setDataSource> 384
13.5.2 <sql:query> 385
13.5.3 <sql:param> 389
13.5.4 <sql:dateParam> 390
13.5.5 <sql:update> 390
13.5.6 <sql:transaction> 392
13.6 XML標籤庫 393
13.6.1 核心操作 394
13.6.2 流程控制 397
13.6.3 轉換操作 401
13.7 Functions標籤庫 404
13.7.1 fn:contains 404
13.7.2 fn:containsIgnoreCase 405
13.7.3 fn:startsWith 405
13.7.4 fn:endsWith 406
13.7.5 fn:indexOf 407
13.7.6 fn:replace 407
13.7.7 fn:substring 408
13.7.8 fn:substringBefore 409
13.7.9 fn:substringAfter 410
13.7.10 fn:split 410
13.7.11 fn:join 411
13.7.12 fn:toLowerCase 412
13.7.13 fn:toUpperCase 413
13.7.14 fn:trim 413
13.7.15 fn:escapeXml 414
13.7.16 fn:length 414
13.8 小結 415
第14章標籤檔案(Tag Files) 416
14.1 標籤檔案的語法 416
14.2 一個簡單的標籤檔案 416
14.3 標籤檔案的隱含對象 420
14.4 標籤檔案的指令 421
14.4.1 tag指令 421
14.4.2 attribute指令 423
14.4.3 variable指令 423
14.5 標籤檔案實例講解 425
14.5.1 實例一:<welcome>標籤 425
14.5.2 實例二:<toHtml>標籤 426
14.6 <jsp:invoke>動作元素 428
14.7 <jsp:doBody>動作元素 428
14.8 小結 429
套用篇
第15章Servlet監聽器 430
15.1 監聽器接口 430
15.2 ServletContextListener接口 431
15.3 HttpSessionBindingListener接口 433
15.4 線上人數統計程式 434
15.5 小結 441
第16章Filter在Web開發中的套用 442
16.1 過濾器概述 442
16.2 Filter API 443
16.2.1 Filter接口 444
16.2.2 FilterConfig接口 444
16.2.3 FilterChain接口 445
16.3 過濾器的部署 445
16.4 過濾器的開發 448
16.5 對用戶進行統一驗證的過濾器 450
16.6 對請求和回響數據進行替換的過濾器 456
16.7 對回響內容進行壓縮的過濾器 467
16.8 小結 474
第17章中文亂碼問題與國際化 475
17.1 中文亂碼問題產生的由來 475
17.1.1 常用字元集 475
17.1.2 對亂碼產生過程的分析 478
17.2 中文亂碼問題的解決方案 480
17.3 使用過濾器解決中文問題 482
17.4 讓Tomcat支持中文檔案名稱 487
17.5 國際化與本地化 488
17.5.1 Locale 488
17.5.2 資源包 490
17.5.3 訊息格式化 492
17.5.4 編寫國際化的Web應用程式 493
17.6 小結 498
第18章開發安全的Web應用程式 499
18.1 概述 499
18.2 理解驗證機制 501
18.2.1 HTTP Basic Authentication 501
18.2.2 HTTP Digest Authentication 502
18.2.3 HTTPS Client Authentication 502
18.2.4 Form Based Authentication 502
18.3 聲明式安全 503
18.3.1 <security-constraint>元素 503
18.3.2 多個安全約束的聯合 506
18.3.3 <login-config>元素 507
18.3.4 基本驗證的實現 508
18.3.5 基於表單驗證的實現 510
18.3.6 使用資料庫保存用戶名和密碼 513
18.4 程式式安全 517
18.5 SQL注入攻擊的防範 520
18.6 小結 522
第19章避免表單的重複提交 523
19.1 在客戶端避免表單的重複提交 523
19.2 在伺服器端避免表單的重複提交 526
19.3 小結 534
第20章使用Eclipse開發Web套用 535
20.1 Eclipse介紹 535
20.1.1 下載並安裝Eclipse 535
20.1.2 Eclipse開發環境介紹 536
20.1.3 配置Eclipse 540
20.2 檔案的上傳 544
20.2.1 基於表單的檔案上傳 544
20.2.2 檔案上傳格式分析 545
20.2.3 commons-fileupload組件 546
20.2.4 檔案上傳實例 548
20.3 檔案的下載 561
20.4 給圖片添加水印和文字 570
20.5 小結 574
第21章Servlet 3.0新特性詳解 576
21.1 新增的註解 577
21.1.1 @WebServlet註解 577
21.1.2 @WebFilter註解 579
21.1.3 @WebInitParam註解 580
21.1.4 @WebListener註解 581
21.1.5 @MultipartConfig註解 582
21.2 異步處理 582
21.2.1 實例:計算斐波那契數列 585
21.2.2 AsyncListener 588
21.3 動態添加和配置Web組件 590
21.3.1 實例一:實現ServletContextListener接口來添加Servlet 592
21.3.2 實例二:實現ServletContainerInitializer接口來添加組件 593
21.4 Web片段和可插性支持 596
21.4.1 Web模組開發 597
21.4.2 解決Web模組載入順序的問題 599
21.5 HttpServletRequest 對檔案上傳的支持 601
21.6 總結 605
附錄A快速掌握HTML 606
A.1 WWW簡介 606
A.2 快速掌握HTML 608
A.2.1 HTML(Hypertext Markup Language) 608
A.2.2 HTML元素的四種形式 608
A.2.3 第一個頁面 608
A.2.4 第二個頁面 609
A.2.5 與段落控制相關的標籤 610
A.2.6 控制文本的顯示 611
A.2.7 如何輸入特殊的字元 613
A.2.8 注釋 615
A.2.9 列表 615
A.2.10 表格 619
A.2.11 HTML互動式表單 622
A.2.12 其他常用標籤 629
A.2.13 框架 633
A.3 小結 634
附錄B解析HTTP 635
B.1 概述 635
B.2 HTTP URL 636
B.3 HTTP請求 637
B.3.1 請求行 637
B.3.2 訊息報頭 638
B.3.3 請求正文 638
B.4 HTTP回響 639
B.4.1 狀態行 639
B.4.2 訊息報頭 641
B.4.3 回響正文 641
B.5 HTTP訊息 642
B.6 實驗 647
B.7 小結 649
附錄Cserver.xml檔案 650
C.1 頂層元素 651
C.1.1 Server元素 651
C.1.2 Service元素 651
C.2 連線器 652
C.2.1 HTTP連線器 652
C.2.2 AJP連線器 654
C.3 容器 654
C.3.1 Engine元素 654
C.3.2 Host元素 655
C.3.3 Context元素 656
C.4 小結 657
附錄Dweb.xml檔案 658
D.1 <description>元素 659
D.2 <display-name>元素 659
D.3 <icon>元素 660
D.4 <distributable>元素 660
D.5 <context-param>元素 660
D.6 <filter>元素 660
D.7 <filter-mapping>元素 661
D.8 <listener>元素 662
D.9 <servlet>元素 662
D.10 <servlet-mapping>元素 664
D.11 <session-config>元素 664
D.12 <mime-mapping>元素 664
D.13 <welcome-file-list>元素 665
D.14 <error-page>元素 665
D.15 <jsp-config>元素 665
D.16 <security-constraint>元素 667
D.17 <login-config>元素 668
D.18 <security-role>元素 669
D.19 <env-entry>元素 669
D.20 <ejb-ref>元素 670
D.21 <ejb-local-ref>元素 670
D.22 <resource-ref>元素 671
D.23 <resource-env-ref>元素 671
D.24 <locale-encoding-mapping-list>元素 671
D.25 小結 672

作者簡介

孫 鑫
IT技術和教育專家,2009年中國教育傑出人物。具有20多年的軟體開發和教育培訓經驗,精通多種程式語言和技術架構, 曾主講過的課程包括C/C++、VC++、COM/DCOM/COM+、SQL Server、Oracle、Java、J2EE、Struts/Struts 2、Hibernate、MyBatis、 Spring、資料庫建模等。2004年曾推出“Java無難事”和“VC++深入編程”教學視頻,獲得了強烈反響,在網路上掀起了一股視頻教學的風潮,數十萬名學員通過這兩套視頻走上了軟體開發的道路。從2006年開始,相繼出版了暢銷技術專著:《Java Web開發詳 解》《VC++深入詳解》《Struts 2深入詳解》《Servlet/JSP深入詳解》《XML、XML Schema、XSLT 2.0和XQuery開發詳解 》《HTML5、CSS和JavaScript開發》。

相關詞條

熱門詞條

聯絡我們