Tomcat與JavaWeb開發技術詳解

Tomcat與JavaWeb開發技術詳解

Tom cat與Java Web開發技術詳解是由電子工業出版社出版發行的圖書,詳細介紹了開發Java Web套用的各種技術。

基本信息

書籍信息

作者:孫衛琴

定價:79.50元

出版社:電子工業出版社

頁碼:734 頁

Tomcat與JavaWeb開發技術詳解 Tomcat與JavaWeb開發技術詳解

出版日期:2009年

ISBN:9787121072970

版本:2版

裝幀:平裝

開本:16

叢書名:專業人士權威經典

附帶品描述:附CD-ROM光碟一張

內容簡介

《Tomcat與Java Web開發技術詳解》 結合最新的Tomcat 6版本,詳細介紹了開發Java Web套用的各種技術。主要內容包括:Tomcat和Java Web開發的基礎知識、Java Web開發的高級技術、在Java Web套用中運用第三方提供的實用軟體(如Struts、Velocity和Log4J)的方法,以及Tomcat的各種高級功能。

書中內容注重理論與實踐相結合,列舉了大量具有典型性和實用價值的Web套用實例,並提供了詳細的開發和部署步驟。由於Java Web技術是SUN公司在Java Servlet規範中提出的通用技術,因此《Tomcat與Java Web開發技術詳解》講解的Java Web套用例子可以運行在任何一個實現了SUN的Servlet規範的Java Web伺服器上。隨書附贈光碟的內容為《Tomcat與Java Web開發技術詳解》範例的源程式,以及《Tomcat與Java Web開發技術詳解》涉及的部分軟體的安裝程式。

《Tomcat與Java Web開發技術詳解》語言深入淺出、通俗易懂,無論對於Java Web開發的新手還是行家來說,《Tomcat與Java Web開發技術詳解》都是精通Tomcat和開發Java Web套用的必備的實用手冊。《Tomcat與Java Web開發技術詳解》還可作為高校相關專業學生學習Java Web開發的參考書,以及企業Java Web培訓教材,也可作為SUN公司的SCWCD(SUN Certified Web Component Developer)認證的輔導教材。

作者簡介

孫衛琴,1975年出生,籍貫江蘇常州,1997年畢業於上海交通大學,隨後主要從事基於Java的軟體開發工作,在此其間還從事過Java方面的培訓諮詢工作。2002年開始Java技術領域的創作。代表著作有:《Tomcat與Java Web開發技術詳解(第2版)》2008《Java網路編程精解》2007《Java面向對象編程》2006《精通Hibernate:Java對象持久化技術詳解》2005《精通Struts:基於MVC的Java Web設計與開發》2004《Tomcat與Java Web開發技術詳解》2004《Java 2認證考試指南與試題解析》2002。

媒體推薦

孫老師的每一本Java著作都在廣大Java愛好者中引起搶購熱潮,此次推出的新著一定也不例外。

此書既通俗易懂又具有足夠的深度和廣度,對想要利用Java進行Web開發的同行來說是一不可多得的參考書和工具書。

陳鋒

Java中文站(JAVA-CN.COM)站長

本書由淺入深、通俗易懂地講解了開發JavaWeb套用涉及的各種技術。如果您要選擇用於學習Java Web開發的書籍,個人認為非此書莫屬。

魏旭東

東南融通公司架構設計師

本書對Tomcat技術講得全面,有深度,很實用,是您在Tomcat平台上開發Java Web的必備之書。

施登榮

北京清華同方軟體股份有限公司研發經理

如果你正在為找不到一本適合自己的Web開發書籍而苦惱,那么這本書正是你需要的。

彭雪

紅帽中國研發中心.JBoss團隊研發工程師

編輯推薦

蘊含Java Web開發的核心思想

闡釋Java Web開發的前沿技術和實用技巧

詳述Tomcat高級配置方法

面向對象的編程思想貫穿《Tomcat與Java Web開發技術詳解》

穿插UML經典設計模式

精心設計的習題鞏固所學知識

介紹Java Web開發的基礎知識。包括Web運作原理,Java Web套用的結構,Servlet的基本用法,JSP的基本用法,訪問資料庫,使用HTTP會話,訪問JavaBean,EL語言。

介紹Java Web開發的高級技術。包括Servlet的高級用法,各種監聽器的用法,開發JavaMail Web套用,創建自定義JSP標籤,JSTL標籤庫的用法,創建國際化的Web套用,簡單標籤和標籤檔案的用法,過濾器的用法,創建和訪問EJB組件,創建、發布和訪問Web服務,運用MVC設計模式。

介紹TOmcat的基礎知識。包括TOmcat伺服器的作用、結構和安裝步驟,配置虛擬主機。

介紹Tomcat的高級功能。包括持久性會話管理,控制和管理平台,安全域,與其他HTTP伺服器集成,集群,配置SSI,Tomcat閥,配置SSL,創建嵌入式Tomcat。

介紹第三方提供的相關實用軟體的用法,如Struts、AXIS、Loq4J、Velocitv和ANT。 通過3個典型的Web套用範例貫穿《Tomcat與Java Web開發技術詳解》。這些範例綜合運用了Java Web開發的各種技術,有助於提高讀者的實踐能力。

讀者對象:

《Tomcat與Java Web開發技術詳解》適合廣大Java Web開發人員參考學習,同時也可作為高等院校相關專業師生的教學參考書或教材。

目錄

第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

為了便於讀者在本地機器上搭建運行範例的環境,列出了書中涉及的軟體的獲取途徑。

……

序言

授業的方式——專心研究圖書寫作體例 在2007年飛思召開的一次Java技術研討會上,孫衛琴老師更是將她以圖書為載體傳道、授業、解惑的心得與在座的許多技術專家進行了分享。她提到:“書不是用來炫耀作者掌握的技術,而是用來向讀者傳授技術的。”正是基於這樣的思想,她潛心研究什麼樣的表達方式是最容易讓讀者理解和掌握的。對於一個概念的解釋,是用圖表對比式,還是問題啟發式,抑或範例說明式,她不斷去實踐,直到得到滿意的結果。

對於讀者來講,通篇只有文字沒有圖表的內容,確實讓人望而生畏。書要讀起來有趣、易懂,才會讓人有興趣深入去學習,所以要善於總結、分析歸納知識點,並以恰當的方式來體現,看似簡單的道理,實現起來並不容易,在《Tomcat與Java Web開發技術詳解(第2版)》中,共有33個知識點、430張圖表、14個典型的Web套用範例,其中傾注了孫衛琴老師8個多月來廢寢忘食的創作心血。解惑的途徑——圖書出版+網路服務 孫衛琴老師用她專業、專注和專心的態度看待自己的圖書創作,同時還專門開發網站為購書的讀者提供技術諮詢服務和論壇討論平台,甚至有的書還專門開發了配套下載的視頻講座資料,給讀者提供圖書以外的增值服務。

我想,這些書能創造非常好的銷售業績,與孫老師堅持為師者傳道授業解惑的心態不無關係,成功並不是偶然,而是必然。

而作為策劃出版方,我們與孫老師緊密溝通,策劃第2版圖書的時間並不短,從策劃到最後產品正式出版,也有一年半的時間。第2版的圖書與第l版相比增加了許多最新的技術,同時在版式設計、編輯加工等方面,也注意從讀者的易讀性角度出發,在與孫老師共同對書稿進行多次反覆的校正之後,《Tomcat與Java Web開發技術詳解(第2版)》終於正式出爐。這中間包含了許多人的奉獻與追求,這種奉獻是美麗的,這種追求是執著的。

衷心希望孫衛琴老師的這本書,能夠引領更多讀者輕鬆進入Tomcat與Java Web的開發殿堂。

書摘

第1篇 Java Web開發技術詳解

第1章 Web運作原理探析

所有上過網的人都熟悉這樣的過程:用戶在客戶機上運行瀏覽器程式,在瀏覽器中輸入一個URL地址,這個地址指向的網頁就會從遠程Web伺服器傳送到客戶機,並且由客戶機上的瀏覽器獎其展示出來。本章從Web的概念入手,逐步向讀者展示Web的本質及動作原理,讀者不妨帶著以下問題去閱讀本章開頭的內容:

·在整個Web體系中,瀏覽器和Web伺服器的各自功能是什麼?

·瀏覽器和Web伺服器採用HTTP協定進行通信,該協定規定了通信的哪些具體細節?

……

相關詞條

相關搜尋

熱門詞條

聯絡我們