第1篇 Java Web開發技術詳解
依據SUN的Java Servlet規範和JSP規範,深入介紹瞭開發Java Web應用的各種技術。
第1章 Web運作原理探析 3
利用Java套接字(Socket)實現瞭一個簡單的基於HTTP協議的客戶程序和服務器程序。
1.1 Web的概念 3
1.2 HTML簡介 4
1.3 URL簡介 7
1.4 HTTP協議簡介 7
1.4.1 HTTP請求格式 9
1.4.2 HTTP響應格式 11
1.4.3 正文部分的MIME類型 13
1.5 用Java套接字創建HTTP客戶與服務器程序 14
1.5.1 演示異構係統之間用HTTP協議通信 17
1.5.2 演示對網頁中的超級鏈接的處理過程 19
1.5.3 演示對網頁中的圖片的處理過程 20
1.6 Web發展曆程 21
1.6.1 發布靜態HTML文檔 21
1.6.2 發布靜態多媒體信息 22
1.6.3 提供瀏覽器端與用戶的動態交互功能 22
1.6.4 提供服務器端與用戶的動態交互功能 24
1.6.5 發布Web應用 29
1.6.6 發布Web服務 30
1.6.7 Web 2.0:全民共建的Web 32
1.7 處理HTTP請求參數及HTML錶單 33
1.8 客戶端嚮服務器端上傳文件 36
1.9 小結 41
1.10 思考題 42
第2章 Tomcat簡介 45
Tomcat除瞭能夠充當運行Servlet的容器,還提供瞭作為Web服務器的一些實用功能,如Tomcat管理和控製平颱、安全域管理和Tomcat閥等。Tomcat已成為目前開發企業JavaWeb應用的最佳Servlet容器選擇之一。
2.1 Tomcat概述 46
2.2 Tomcat作為Servlet容器的基本功能 47
2.3 Tomcat的組成結構 48
2.4 Tomcat的工作模式 50
2.5 Tomcat的版本 52
2.6 安裝和配置Tomcat所需的資源 53
2.7 安裝Tomcat 55
2.8 啓動Tomcat並測試Tomcat的安裝 57
2.9 Tomcat的運行腳本 58
2.10 小結 59
2.11 思考題 60
第3章 第一個JavaWeb應用 63
以一個簡單的helloapp應用為例,讓初學者迅速獲得開發JavaWeb應用的實際經驗。
3.1 JavaWeb應用簡介 63
3.2 創建JavaWeb應用 64
3.2.1 JavaWeb應用的目錄結構 64
3.2.2 創建HTML文件 65
3.2.3 創建Servlet類 66
3.2.4 創建JSP文件 67
3.2.5 創建web.xml文件 68
3.3 在Tomcat中發布JavaWeb應用 70
3.3.1 Tomcat的目錄結構 70
3.3.2 按照默認方式發布JavaWeb應用 71
3.3.3 Web組件的URL 72
3.3.4 配置Tomcat的元素 75
3.3.5 配置Tomcat的虛擬主機 78
3.4 創建、配置和使用自定義JSP標簽 80
3.5 用批處理文件或ANT編譯範例 84
3.6 小結 85
3.7 思考題 86
第4章 Servlet技術(上) 89
要想精通Servlet編程,不僅要瞭解Servlet自身的用法,還要瞭解容器為它提供的十八般武器的用法。
4.1 Servlet API 90
4.1.1 Servlet接口 90
4.1.2 GenericServlet抽象類 91
4.1.3 HttpServlet抽象類 93
4.1.4 ServletRequest接口 96
4.1.5 HttpServletRequest接口 97
4.1.6 ServletResponse接口 100
4.1.7 HttpServletResponse接口 101
4.1.8 ServletConfig接口 104
4.1.9 ServletContext接口 105
4.2 JavaWeb應用的生命周期 108
4.2.1 啓動階段 108
4.2.2 運行時階段 109
4.2.3 終止階段 109
4.2.4 用Tomcat的管理平颱管理Web應用的生命周期 109
4.3 Servlet的生命周期 111
4.3.1 初始化階段 111
4.3.2 運行時階段 112
4.3.3 銷毀階段 112
4.3.4 演示Servlet的生命周期的範例 113
4.4 ServletContext與Web應用範圍 115
4.4.1 在Web應用範圍內存放共享數據的範例 116
4.4.2 使用ServletContextListener監聽器 119
4.5 Servlet的服務方法拋齣異常 121
4.6 防止頁麵被客戶端緩存 122
4.7 小結 123
4.8 思考題 124
第5章 Servlet技術(下) 129
進一步介紹Servlet的一些高級用法。
5.1 下載文件 129
5.2 上傳文件 130
5.3 動態生成圖像 136
5.4 讀寫Cookie 139
5.5 訪問Web應用的工作目錄 145
5.6 轉發和包含 147
5.6.1 請求轉發 148
5.6.2 包含 152
5.6.3 請求範圍 154
5.7 重定嚮 155
5.8 訪問Servlet容器內的其他Web應用 158
5.9 避免並發問題 160
5.9.1 閤理決定在Servlet中定義的變量的作用域類型 162
5.9.2 使用Java同步機製對多綫程同步 164
5.9.3 被廢棄的SingleThreadModel接口 165
5.10 小結 166
5.11 思考題 169
第6章 JSP技術 171
包括JSP的運行機製和語法、JSP包含其他Web組件的方法、把請求轉發給其他Web組件的方法,以及JSP的異常處理。
6.1 比較HTML、Servlet和JSP 171
6.1.1 靜態HTML文件 171
6.1.2 用Servlet動態生成HTML頁麵 171
6.1.3 用JSP動態生成HTML頁麵 173
6.2 JSP語法 177
6.2.1 JSP指令(Directive) 178
6.2.2 JSP聲明 180
6.2.3 Java程序片段(Scriptlet) 181
6.2.4 Java錶達式 182
6.2.5 隱含對象 184
6.3 JSP的生命周期 185
6.4 請求轉發 188
6.5 包含 190
6.5.1 靜態包含 190
6.5.2 動態包含 192
6.5.3 混閤使用靜態包含和動態包含 194
6.6 JSP異常處理 200
6.7 再談發布JSP 202
6.8 預編譯JSP 203
6.9 PageContext抽象類 204
6.10 JSP技術的發展趨勢 206
6.11 小結 207
6.12 思考題 207
第7章 bookstore應用簡介 211
介紹bookstore應用的軟件結構、各個JSP網頁的功能,以及部分Web組件的實現。
7.1 bookstore應用的軟件結構 211
7.1.1 Web服務器層 211
7.1.2 數據庫層 212
7.2 瀏覽bookstore應用的JSP網頁 212
7.3 JavaBean和實用類 217
7.3.1 實體類 218
7.3.2 購物車的實現 219
7.4 發布bookstore應用 222
7.5 小結 223
第8章 訪問數據庫 225
介紹通過JDBC API訪問數據庫、在Tomcat中配置數據源,以及在Web應用中通過數據源連接數據庫的方法。
8.1 安裝和配置MySQL數據庫 225
8.2 JDBC簡介 228
8.2.1 java.sql包中的接口和類 230
8.2.2 編寫訪問數據庫程序的步驟 234
8.2.3 事務處理 236
8.3 通過JDBC API訪問數據庫的JSP範例程序 237
8.4 bookstore應用通過JDBC API訪問數據庫 239
8.5 數據源(DataSource)簡介 243
8.6 配置數據源 244
8.6.1 在context.xml中加入元素 244
8.6.2 在web.xml中加入元素 245
8.7 程序中訪問數據源 246
8.7.1 通過數據源連接數據庫的JSP範例程序 246
8.7.2 bookstore應用通過數據源連接數據庫 248
8.8 處理中文編碼 251
8.9 分頁顯示批量數據 252
8.10 小結 256
8.11 思考題 257
第9章 HTTP會話的使用與管理 259
介紹如何通過會話來實現服務器對客戶的狀態的跟蹤。
9.1 會話簡介 259
9.2 HttpSession的生命周期及會話範圍 263
9.3 使用會話的JSP範例程序 265
9.4 使用會話的Servlet範例程序 269
9.5 通過重寫URL來跟蹤會話 273
9.6 會話的持久化 277
9.6.1 標準會話管理器StandardManager 279
9.6.2 持久化會話管理器PersistentManager 280
9.7 會話的監聽 284
9.7.1 用HttpSessionListener統計在綫用戶人數 289
9.7.2 用HttpSessionBindingListener統計在綫用戶人數 291
9.8 小結 294
9.9 思考題 295
第10章 JSP訪問JavaBean 299
介紹JavaBean的概念和創建方法, JSP訪問JavaBean的語法,JavaBean在Web應用中的4種存在範圍,如何在bookstore應用中運用JavaBean。
10.1 JavaBean簡介 299
10.2 JSP訪問JavaBean的語法 300
10.3 JavaBean的範圍 302
10.3.1 JavaBean在頁麵(page)範圍內 302
10.3.2 JavaBean在請求(request)範圍內 305
10.3.3 JavaBean在會話(session)範圍內 306
10.3.4 JavaBean在Web應用(application)範圍內 307
10.4 在bookstore應用中訪問JavaBean 308
10.4.1 訪問BookDB類 308
10.4.2 訪問ShoppingCart類 309
10.5 小結 313
10.6 思考題 314
第11章 開發JavaMail Web應用 317
介紹瞭一個JavaMail Web應用,通過它,客戶可以訪問郵件服務器上的郵件賬號、收發郵件和管理郵件夾。
11.1 E-mail協議簡介 317
11.1.1 SMTP簡單郵件傳輸協議 317
11.1.2 POP3郵局協議 318
11.1.3 接收郵件的新協議IMAP 318
11.2 JavaMail API簡介 319
11.3 建立JavaMail應用程序的開發環境 321
11.3.1 獲得JavaMail API的類庫 321
11.3.2 安裝和配置郵件服務器 321
11.4 創建JavaMail應用程序 324
11.5 JavaMail Web應用簡介 328
11.6 JavaMail Web應用的程序結構 328
11.6.1 重新封裝Message數據 329
11.6.2 用於保存郵件賬號信息的JavaBean 332
11.6.3 定義所有JSP文件的相同內容 334
11.6.4 登錄IMAP服務器上的郵件賬號 336
11.6.5 管理郵件夾 339
11.6.6 查看郵件夾中的郵件信息 342
11.6.7 查看郵件內容 345
11.6.8 創建和發送郵件 346
11.6.9 退齣郵件係統 348
11.7 在Tomcat中配置郵件會話(Mail Session) 349
11.7.1 在context.xml中配置Mail Session資源 349
11.7.2 在web.xml中加入對JNDI Mail Session資源的引用 350
11.7.3 在javamail應用中獲取JNDI Mail Session資源 350
11.8 發布和運行javamail應用 352
11.9 小結 352
11.10 思考題 353
第12章 EL錶達式語言 355
EL(Expression Language)錶達式語言是在JSP 2.0版本中引入的新特性,它用於JSP文件中的數據訪問。
12.1 基本語法 355
12.1.1 訪問對象的屬性及數組的元素 356
12.1.2 EL運算符 356
12.1.3 隱含對象 357
12.1.4 命名變量 359
12.2 使用EL錶達式的JSP範例 360
12.2.1 關於基本語法的例子 360
12.2.2 讀取HTML錶單數據的例子 362
12.2.3 訪問命名變量的例子 363
12.3 定義和使用EL函數 363
12.4 小結 366
12.5 思考題 367
第13章 自定義JSP標簽 369
結閤具體的範例,進一步介紹自定義標簽的創建過程,以及它在JSP文件中的使用方法。
13.1 自定義JSP標簽簡介 369
13.2 JSP Tag API 370
13.2.1 JspTag接口 370
13.2.2 Tag接口 371
13.2.3 IterationTag接口 373
13.2.4 BodyTag接口 374
13.2.5 TagSupport類和BodyTagSupport類 376
13.3 創建和使用message標簽(訪問標簽屬性) 380
13.3.1 創建message標簽的處理類MessageTag 382
13.3.2 創建標簽庫描述文件 385
13.3.3 在Web應用中使用標簽 388
13.3.4 發布支持中、英文版本的helloapp應用 390
13.4 創建和使用iterate標簽(重復執行標簽主體) 391
13.5 創建和使用greet標簽(訪問標簽主體內容) 395
13.6 小結 399
13.7 思考題 400
第14章 采用模闆設計網上書店應用 403
以bookstore應用為例,介紹如何通過自定義JSP標簽來為網站設計模闆,從而使所有在客戶端展示的網頁都通過模闆來生成。
14.1 如何設計網站的模闆 403
14.2 創建負責流程控製的Servlet 404
14.3 創建模闆標簽和模闆JSP文件 406
14.3.1 標簽和其處理類 408
14.3.2 標簽和處理類 411
14.3.3 標簽和處理類 413
14.3.4 標簽和處理類 417
14.4 修改JSP文件 419
14.5 發布采用模闆設計的bookstore應用 420
14.6 小結 423
第15章 JSTL Core標簽庫 425
本章對JSTL做瞭概要介紹,並且著重介紹瞭JSTL中的Core標簽庫的用法。
15.1 使用第三方提供的標簽庫的步驟 425
15.2 JSTL標簽庫簡介 426
15.3 一般用途的標簽 427
15.3.1 標簽 427
15.3.2 標簽 428
15.3.3 標簽 430
15.3.4 標簽 430
15.4 條件標簽 431
15.4.1 標簽 431
15.4.2 、和標簽 432
15.5 迭代標簽 433
15.5.1 標簽 433
15.5.2 標簽 437
15.6 URL相關的標簽 437
15.6.1 標簽 437
15.6.2 標簽 438
15.6.3 標簽 440
15.7 小結 440
15.8 思考題 441
第16章 JSTL I18N標簽庫 443
I18N標簽庫主要用於編寫國際化的Web應用,本章對I18N標簽庫進行瞭詳細介紹。
16.1 國際化的概念 443
16.2 Java對I18N的支持 444
16.2.1 Locale類 444
16.2.2 ResourceBundle類 448
16.2.3 MessageFormat類和復閤消息 449
16.3 國際化標簽 452
16.3.1 標簽 452
16.3.2 標簽 453
16.3.3 標簽 453
16.3.4 標簽 454
16.3.5 標簽 455
16.3.6 標簽 455
16.4 創建國際化的Web應用 456
16.4.1 創建支持國際化的網頁 456
16.4.2 創建資源文件 459
16.5 格式化標簽 460
16.5.1 標簽 460
16.5.2 標簽 461
16.5.3 標簽 461
16.5.4 標簽 462
16.5.5 標簽 463
16.5.6 標簽 465
16.6 小結 465
16.7 思考題 466
第17章 JSTL SQL標簽庫 469
在JSP中直接通過Java程序代碼來訪問數據庫,會降低JSP頁麵的可讀性和可維護性,為瞭解決這一問題,可以在JSP中通過JSTL SQL標簽庫中的標簽來訪問數據庫。
17.1 標簽 469
17.2 標簽 470
17.2.1 設置數據源 470
17.2.2 設置select查詢語句 470
17.2.3 控製實際取齣的記錄 471
17.2.4 訪問查詢結果 471
17.2.5 使用標簽的範例 472
17.3 標簽 474
17.4 標簽 475
17.5 標簽 475
17.6 標簽 476
17.7 小結 478
17.8 思考題 478
第18章 JSTL Functions標簽庫 481
介紹Functions標簽庫中常用的16個函數的用法。
18.1 fn:contains函數 481
18.2 fn:containsIgnoreCase函數 481
18.3 fn:startsWith函數 482
18.4 fn:endsWith函數 482
18.5 fn:indexOf函數 482
18.6 fn:replace函數 483
18.7 fn:substring函數 483
18.8 fn:substringBefore函數 483
18.9 fn:substringAfter函數 484
18.10 fn:split函數 484
18.11 fn:join函數 485
18.12 fn:toLowerCase函數 485
18.13 fn:toUpperCase函數 485
18.14 fn:trim函數 486
18.15 fn:escapeXml函數 486
18.16 fn:length函數 487
18.17 小結 488
18.18 思考題 489
第19章 簡單標簽和標簽文件 491
為瞭簡化開發標簽的過程,JSP 2.0引入瞭一種新的標簽擴展機製,稱為“簡單標簽擴展”。
19.1 實現SimpleTag接口 491
19.1.1 創建和使用簡單標簽 493
19.1.2 創建和使用帶屬性和標簽主體的簡單標簽 494
19.1.3 創建和使用帶動態屬性的簡單標簽 495
19.2 使用標簽文件 497
19.2.1 標簽文件的隱含對象 500
19.2.2 標簽文件的指令 501
19.2.3 標簽文件的和動作元素 503
19.2.4 創建和使用帶屬性和標簽主體的display標簽文件 503
19.2.5 創建和使用帶屬性和標簽主體的welcome標簽文件 505
19.2.6 創建和使用帶變量的precode標簽文件 506
19.3 小結 507
19.4 思考題 507
第20章 過濾器 509
如果在多個Web組件中編寫完成同樣操作的程序代碼,顯然會導緻重復編碼,從而降低開發效率和軟件的可維護性,為瞭解決上述問題,過濾器應運而生。
20.1 過濾器簡介 509
20.2 創建過濾器 510
20.3 發布過濾器 513
20.4 串聯過濾器 518
20.4.1 包裝設計模式簡介 519
20.4.2 ServletOutputStream的包裝類 521
20.4.3 HttpServletResponse的包裝類 524
20.4.4 創建對響應結果進行字符串替換的過濾器 525
20.4.5 ReplaceTextFilter過濾器工作的UML時序圖 527
20.4.6 發布和運行包含ReplaceTextFilter過濾器的Web應用 528
20.5 小結 531
20.6 思考題 532
第21章 在Web應用中訪問EJB組件 535
首先介紹JavaEE的體係結構;然後以bookstore應用為例,介紹開發EJB組件的過程;最後講解如何在JBoss服務器上發布JavaEE應用。
21.1 JavaEE體係結構簡介 535
21.2 安裝和配置JBoss服務器 537
21.3 創建EJB組件 538
21.3.1 編寫Remote接口 539
21.3.2 編寫Home接口 539
21.3.3 編寫Enterprise Java Bean
類 540
21.4 在Web應用中訪問EJB組件 543
21.5 發布JavaEE應用 544
21.5.1 在JBoss上發布EJB組件 545
21.5.2 在JBoss上發布Web應用 547
21.5.3 在JBoss上發布JavaEE應用 549
21.6 小結 550
21.7 思考題 551
第22章 在Web應用中訪問Web服務 553
介紹利用AXIS來創建SOAP服務和SOAP客戶程序的方法,還介紹瞭在bookstore應用中訪問SOAP服務的方法。
22.1 SOAP簡介 553
22.2 建立Apache AXIS環境 555
22.3 在Tomcat上發布
Apache-AXIS Web應用 556
22.4 創建SOAP服務 557
22.4.1 創建提供SOAP服務的Java類 557
22.4.2 創建SOAP服務的發布描述符文件 557
22.5 管理SOAP服務 558
22.5.1 發布SOAP服務 558
22.5.2 刪除SOAP服務 559
22.6 創建和運行SOAP客戶程序 560
22.7 發布JWS服務 563
22.8 在bookstore應用中訪問SOAP服務 563
22.8.1 創建BookDB服務類及
BookDBDelegate代理類 564
22.8.2 發布bookdbservice服務和bookstore應用 573
22.9 小結 574
22.10 思考題 575
第23章 Web應用的MVC設計模式 577
首先介紹瞭MVC設計模式的結構和優點;接著介紹瞭SUN公司提齣的在Java Web開發領域的兩種設計模式:JSP Model1和JSP Molde2;然後介紹瞭Struts實現MVC的機製;最後以helloapp應用為例,簡要介紹瞭在Web應用中使用Struts 2.0的方法。
23.1 MVC設計模式簡介 577
23.2 JSP Model 1和
JSP Model 2 579
23.3 Struts概述 581
23.3.1 Struts實現MVC的機製 581
23.3.2 Struts的工作流程 582
23.4 創建采用Struts的Web應用 583
23.4.1 建立Struts的環境 583
23.4.2 創建視圖 584
23.4.3 創建模型 585
23.4.4 創建Action類 585
23.4.5 創建web.xml文件和struts.xml文件 586
23.5 運行helloapp應用 587
23.5.1 服務器端裝載login.htm的流程 587
23.5.2 用戶驗證的流程 587
23.6 小結 589
23.7 思考題 589
第2篇 Tomcat配置及第三方實用軟件的用法
介紹Tomcat服務器的基本配置和高級配置,從而為Java Web應用創建高效的運行環境;介紹在Java Web應用中運用第三方提供的實用軟件(如Velocity和Log4J)的方法。
第24章 Tomcat的控製平颱和管理平颱 593
Tomcat提供瞭基於Web方式的管理平颱和控製平颱,用戶通過瀏覽器,就可以很方便地配置Tomcat服務器,還可以管理運行在Tomcat服務器上的Web應用,如發布、啓動、停止或刪除Web應用,以及查看Web應用狀態。
24.1 訪問Tomcat的控製平颱和管理平颱 593
24.2 Tomcat的控製平颱 595
24.2.1 Tomcat控製平颱的功能 595
24.2.2 配置元素 597
24.3 Tomcat的管理平颱 598
24.4 小結 600
第25章 安全域 601
主要介紹如何通過Tomcat提供的安全域來保護Web應用的資源。
25.1 安全域概述 601
25.2 為Web資源設置安全約束 602
25.2.1 在web.xml中加入元素 603
25.2.2 在web.xml中加入元素 605
25.2.3 在web.xml中加入元素 608
25.3 內存域 608
25.4 JDBC域 610
25.4.1 用戶數據庫的結構 610
25.4.2 在MySQL中創建和配置用戶數據庫 611
25.4.3 配置元素 611
25.5 DataSource域 612
25.6 在Web應用中訪問用戶信息 614
25.7 小結 614
25.8 思考題 615
第26章 Tomcat與其他HTTP 服務器集成 617
首先討論Tomcat與HTTP服務器集成的一般原理,然後介紹Tomcat與Apache服務器及IIS集成的詳細步驟,最後介紹把由多個Tomcat服務器構成的集群係統與Apache服務器集成的方法。
26.1 Tomcat與HTTP服務器集成的原理 617
26.1.1 JK插件 618
26.1.2 AJP協議 618
26.2 在Windows下Tomcat與
Apache服務器集成 618
26.3 在Linux下Tomcat與Apache
服務器集成 621
26.4 Tomcat與IIS服務器集成 623
26.4.1 準備相關文件 624
26.4.2 編輯注冊錶 624
26.4.3 在IIS中加入“jakarta”虛擬目錄 626
26.4.4 把JK插件作為ISAPI篩選器加入到IIS中 627
26.4.5 測試配置 628
26.5 Tomcat集群 628
26.5.1 配置集群係統的負載平衡器 629
26.5.2 配置集群管理器 631
26.6 小結 635
26.7 思考題 636
第27章 在Tomcat中配置SSI 637
首先介紹瞭SSI的概念及SSI指令的用法,然後介紹瞭在Tomcat中配置SSI的方法。
27.1 SSI簡介 637
27.1.1 #echo指令 638
27.1.2 #include指令 640
27.1.3 #flastmod指令 641
27.1.4 #fsize指令 641
27.1.5 #exec指令 641
27.1.6 #config指令 641
27.1.7 #if、#elif、#else和#endif指令 643
27.2 在Tomcat中配置對SSI的支持 643
27.3 小結 645
27.4 思考題 645
第28章 Tomcat閥 647
介紹Tomcat閥的種類,還將詳細介紹各種Tomcat閥的功能和使用方法。
28.1 Tomcat閥簡介 647
28.2 客戶訪問日誌閥 648
28.3 遠程地址過濾器 650
28.4 遠程主機過濾器 651
28.5 客戶請求記錄器 652
28.6 小結 653
28.7 思考題 653
第29章 在Tomcat中配置SSL 655
SSL(Server Socket Layer)協議,旨在達到在開放網絡(Internet)上安全、保密地傳輸信息的目的,這種協議在Web上獲得瞭廣泛的應用。
29.1 SSL簡介 655
29.1.1 加密通信 656
29.1.2 安全證書 656
29.1.3 SSL握手 657
29.2 在Tomcat中使用SSL 658
29.2.1 準備安全證書 658
29.2.2 配置SSL連接器 659
29.2.3 訪問支持SSL的Web站點 660
29.3 小結 661
29.4 思考題 662
第30章 用ANT工具管理Web應用 663
介紹瞭ANT的安裝和配置,並以bookstore應用為例,介紹瞭ANT的使用方法。
30.1 安裝配置ANT 663
30.2 創建build.xml文件 663
30.3 運行ANT 668
30.4 小結 669
30.5 思考題 669
第31章 使用Log4J進行日誌操作 671
首先介紹Log4J的組成,接著介紹如何在程序中使用Log4J,最後介紹如何在Web應用中通過Log4J生成日誌。
31.1 Log4J簡介 671
31.1.1 Logger組件 672
31.1.2 Appender組件 673
31.1.3 Layout組件 673
31.1.4 Logger組件的繼承性 674
31.2 Log4J的基本使用方法 675
31.2.1 定義配置文件 675
31.2.2 在程序中使用Log4J 677
31.3 在helloapp應用中使用Log4J 680
31.3.1 創建用於配置Log4J環境的Servlet 680
31.3.2 在login.jsp中輸齣日誌 681
31.3.3 發布和運行使用Log4J的helloapp應用 681
31.4 小結 683
31.5 思考題 683
第32章 Velocity模闆語言 685
首先通過一個簡單的Velocity例子來講解創建基於Velocity的Web應用的步驟,然後詳細介紹Velocity模闆語言的各個要素。
32.1 安裝Velocity 685
32.2 Velocity的簡單例子 685
32.2.1 創建Velocity模闆 685
32.2.2 創建擴展VelocityServlet的Servlet類 686
32.2.3 發布和運行基於Velocity的Web應用 688
32.3 注釋 689
32.4 引用 689
32.4.1 變量引用 689
32.4.2 屬性引用 690
32.4.3 方法引用 692
32.4.4 正式引用符 693
32.4.5 安靜引用符 693
32.4.6 轉義符 694
32.4.7 大小寫替換 694
32.5 指令 695
32.5.1 #set指令 695
32.5.2 字麵字符串 696
32.5.3 #if指令 697
32.5.4 比較運算 697
32.5.5 #foreach循環指令 698
32.5.6 #include指令 700
32.5.7 #parse指令 700
32.5.8 #macro指令 701
32.5.9 轉義VTL指令 702
32.5.10 VTL的格式 702
32.6 其他特徵 703
32.6.1 數學運算 703
32.6.2 範圍操作符 703
32.6.3 字符串的連接 704
32.7 小結 705
32.8 思考題 705
第33章 創建嵌入式Tomcat服務器 707
介紹如何把Tomcat嵌入到Java應用程序中,以及在程序中配置Tomcat的組件,並控製Tomcat服務器的啓動和關閉。
33.1 將Tomcat嵌入到Java應用中 707
33.2 創建嵌入瞭Tomcat的
Java示範程序 708
33.3 運行嵌入式Tomcat
服務器 711
33.4 小結 713
附錄A server.xml文件 715
對server.xml文件的一些常用的元素進行瞭介紹。
A.1 配置Server元素 716
A.2 配置Service元素 717
A.3 配置Engine元素 717
A.4 配置Host元素 718
A.5 配置Context元素 718
A.6 配置Connector元素 719
附錄B web.xml文件 721
介紹瞭Web應用的配置文件web.xml文件。
B.1 配置過濾器 723
B.2 配置Servlet 724
B.3 配置Servlet映射 725
B.4 配置Session 725
B.5 配置Welcome文件清單 725
B.6 配置Tag Library 726
B.7 配置資源引用 726
B.8 配置安全約束 727
B.9 配置安全驗證登錄界麵 727
B.10 配置對安全驗證角色的引用 728
附錄C XML簡介 729
XML,即可擴展標記語言(Extensible Markup Language),是一種可以用來創建自定義標記的標記語言。
C.1 SGML、HTML 與XML的比較 729
C.2 DTD文檔類型定義 730
C.3 有效XML文檔以及簡化格式的XML文檔 731
C.4 XML中的常用術語 732
C.4.1 URL、URN和URI 733
C.4.2 XML命名空間 733
附錄D 書中涉及軟件獲取途徑 735
為瞭便於讀者在本地機器上搭建運行範例的環境,列齣瞭書中涉及的軟件的獲取途徑。
· · · · · · (
收起)