圖書簡介
本書由淺入深、循序漸進地介紹了JSP技術的知識體系、開發技巧以及相關的技術整合。全書共分31章,內容涵蓋了JSP技術基礎、JSP技術的相關開發技術(包括JavaBeans、檔案操作、資料庫操作、自定義標籤庫等技術)、JSP技術與其他技術的整合開發(如Web測試、Log4j、J2EE、Hibernate等)。本書一個最大的特點就是它一切以JSP技術為中心,涉及面廣,對使用JSP進行Web開發過程中涉及的技術都有介紹,對每項技術都做了比較詳細的介紹並配有實例程式供讀者理解,每個例子都具有很強的針對性,力求讓讀者通過自己動手做而掌握每項技術的要點,從而學習更多的知識。
目錄
第1部分JSP技術基礎
第1章JSP技術簡介 2
1.1認識HTTP協定 2
1.2客戶端Web程式設計介紹 2
1.2.1CSS 2
1.2.2JavaScript 3
1.2.3VBScript 3
1.2.4動態HTML 3
1.2.5JavaApplet(Java小應用程式) 4
1.2.6瀏覽器技術的作用與局限性 4
1.3JSP與其他動態網頁技術 5
1.3.1JSP的開發背景及發展歷史 5
1.3.2CGI 6
1.3.3ASP 6
1.3.4PHP 7
1.4JSP的運行原理與優點 7
1.5JSP的運行環境介紹 8
1.5.1Tomcat介紹 8
1.5.2BEAWebLogic介紹 8
1.5.3IBMWebSphere介紹 9
1.6運行第一個JSP應用程式 9
1.6.1安裝JDK 9
1.6.2安裝Tomcat 10
1.6.3編寫並發布運行JSP檔案 11
1.7小結 12
第2章JSP語法 13
2.1JSP容器與JSP頁面生命周期 13
2.1.1JSP容器介紹 13
2.1.2JSP頁面生命周期 13
2.2JSP注釋 14
2.3JSP聲明 16
2.4JSP指令 16
2.4.1定義JSP檔案的全局屬性——page指令 17
2.4.2包含一個檔案——include指令 18
2.5JSP動作 18
2.5.1包含一個靜態檔案或者其他Web組件的結果——include動作 19
2.5.2重定向資源——forward動作 21
2.5.3聲明使用的Java外掛程式——plugin動作 22
2.5.4聲明使用一個JavaBeans——useBean動作 23
2.5.5設定JavaBeans的屬性值——setProperty動作 25
2.5.6獲取JavaBeans的屬性值——getProperty動作 25
2.6Java小程式段(Scriptlet) 26
2.7JSP表達式 27
2.8小結 27
第3章JSP內置對象 28
3.1JSP內置對象介紹 28
3.2處理客戶請求信息——request對象 29
3.2.1request對象介紹 29
3.2.2訪問請求參數 29
3.2.3在請求作用域中管理屬性 32
3.2.4獲取Cookie 33
3.2.5訪問請求報頭 35
3.2.6訪問請求行元素 36
3.2.7訪問安全信息 37
3.2.8訪問國際化信息 38
3.3控制伺服器的回響信息——response對象 39
3.3.1response對象介紹 39
3.3.2輸出緩衝 39
3.3.3設定回響報頭 41
3.3.4重定向資源 42
3.4管理客戶的會話——session對象 43
3.4.1URL重寫 43
3.4.2安裝Cookie 43
3.4.3SSL會話 43
3.4.4會話服務 43
3.5Web套用全局對象——application對象 45
3.5.1訪問應用程式初始化參數 45
3.5.2管理應用程式環境屬性 47
3.5.3支持資源的提取 47
3.5.4RequestDispatcher方法 48
3.5.5其他實用方法 50
3.6當前頁面的引用——page變數 50
3.6.1契約服務 51
3.6.2訪問伺服器小程式信息 51
3.7Servlet的配置信息——config對象 51
3.8向客戶輸出數據——out對象 53
3.8.1管理回響緩衝 53
3.8.2寫入內容 53
3.9異常處理——exception變數 54
3.10小結 54
第4章Servlet技術介紹 55
4.1Servlet簡介 55
4.2快速體驗Servlet——Servlet的簡單例子 56
4.2.1編寫Servlet 56
4.2.2編譯並發布Servlet 57
4.3Servlet的生命周期 59
4.3.1載入Servlet——由Servlet容器負責 59
4.3.2初始化Servlet——init()方法 60
4.3.3請求處理——service()方法 60
4.3.4終結Servlet——destroy()方法 61
4.3.5卸載Servlet 61
4.4HTTPServlet 61
4.4.1處理HTTP請求 61
4.4.2處理HTTP回響 63
4.4.3HTTPServlet實例 64
4.5Web程式的異常處理 66
4.5.1Java的異常處理 66
4.5.2Web程式中的異常處理 67
4.6小結 68
第5章JavaBeans與JSP技術 69
5.1JavaBeans技術簡介 69
5.2JavaBeans規範 69
5.2.1JavaBeans構造方法 69
5.2.2JavaBeans屬性 70
5.2.3JavaBeans事件 72
5.2.4JavaBeans的持續性 72
5.3JavaBeans與EJB的比較 73
5.4JavaBeans在JSP技術中的套用 73
5.4.1快速體驗在JSP中使用JavaBeans 73
5.4.2嘗試使用JavaBeans 75
5.4.3不共享的JavaBeans——作用域為頁面 77
5.4.4在請求域內共享JavaBeans 78
5.4.5在會話域內共享JavaBeans 78
5.4.6在應用程式域內共享JavaBeans 78
5.4.7JavaBeans在不同的範圍內共享時的效果 78
5.5使用JavaBeans實現購物車 80
5.6小結 84
第6章JSP檔案操作 85
6.1快速體驗JSP檔案操作——使用JSP讀取文本檔案的簡單例子 85
6.1.1編寫進行檔案操作的JavaBeans類 85
6.1.2編寫JSP檔案 88
6.1.3發布運行Web套用 89
6.2Java檔案操作基礎介紹 90
6.2.1使用檔案類——File類 90
6.2.2使用位元組流 92
6.2.3使用字元流 93
6.3檔案的上傳 94
6.3.1組件安裝 94
6.3.2commons-fileupload檔案上傳介紹 94
6.3.3檔案上傳的例子 96
6.4JSP操作Excel檔案 102
6.4.1安裝配置POI 102
6.4.2使用POI操作Excel工作簿介紹 103
6.4.3使用POI操作Excel工作簿的例子 104
6.5小結 109
第7章JSPWeb套用的會話管理 110
7.1JSP的會話管理機制簡介 110
7.1.1Session簡介 110
7.1.2一個利用了會話跟蹤的例子 111
7.2會話跟蹤實現方法介紹 113
7.2.1使用隱藏表單欄位 113
7.2.2使用Cookie跟蹤Session 113
7.2.3使用URL-rewriting跟蹤Session 116
7.3在Tomcat配置Session 119
7.3.1為單個Web套用配置Session 119
7.3.2為所有的Web套用配置Session 121
7.4使用Tomcat實現會話持久化 121
7.5小結 127
第8章JSP2.0技術 128
8.1JSP2.0的表達式語言 128
8.2JSP2.0新加指令介紹 131
8.2.1提供參數——<jsp:param> 131
8.2.2提示錯誤信息——<jsp:fallback> 131
8.2.3動態產生XML元素——<jsp:element> 132
8.2.4定義屬性——<jsp:attribute> 133
8.2.5定義元素體——<jsp:body> 134
8.2.6對標籤體內容求值——<jsp:doBody> 134
8.2.7調用標籤片段——<jsp:invoke> 135
8.2.8指定檔案類型聲明——<jsp:output> 135
8.2.9定義標籤庫的標準元素和命名空間——<jsp:root> 136
8.2.10封裝模板數據——<jsp:text> 136
8.3JSP2.0簡單標籤擴展 137
8.3.1使用SimpleTag接口 137
8.3.2使用標籤檔案 140
8.4小結 142
第2部分JSP的套用
第9章自定義JSP標籤 144
9.1自定義JSP標籤實例 144
9.2自定義JSP標籤相關API 149
9.2.1BodyTagSupport類 149
9.2.2SimpleTagSupport類 151
9.2.3標籤處理中處理異常 152
9.3標籤描述檔案 152
9.3.1taglib標籤庫元素 153
9.3.2tag標籤元素 153
9.3.3attribute元素 154
9.3.4在Web套用中使用自定義標籤 155
9.3.5打包自定義標籤庫 155
9.4相關問題 156
9.5小結 156
第10章JSP標準標籤庫(JSTL) 157
10.1JSTL簡介 157
10.2JSTL快速入門——一個簡單的例子 158
10.2.1下載安裝JSTL的例子程式 158
10.2.2一個新的套用 159
10.3EL表達式語言 160
10.3.1限制了作用域的變數 161
10.3.2隱含對象 162
10.3.3存取器 164
10.3.4運算符 165
10.4使用JSTL的核心標籤庫(CoreTagLibrary) 167
10.4.1通用標籤 167
10.4.2流程控制標籤 171
10.4.3循環疊代標籤 172
10.4.4導入檔案和URL操作標籤 172
10.5常見問題 173
10.6小結 174
第11章關係資料庫與JDBC基礎 175
11.1使用JSP和JDBC開發第一個資料庫套用 175
11.1.1準備資料庫驅動程式和資料庫 175
11.1.2編寫訪問資料庫的JSP檔案 176
11.1.3發布訪問資料庫的Web套用 179
11.2關係資料庫與SQL語言介紹 179
11.2.1表操作(定義、刪除和修改) 179
11.2.2查詢操作 181
11.2.3數據更新(插入、更新和刪除) 182
11.3JDBC基礎知識 183
11.3.1JDBC簡介 184
11.3.2JDBC兩層模型和三層模型 184
11.3.3指定資料庫的URL連線串 185
11.3.4JDBCAPI介紹 185
11.4通過JDBC訪問資料庫 188
11.4.1使用JDBC-ODBC橋連線資料庫 188
11.4.2使用本地協定純Java驅動程式連線資料庫 191
11.4.3使用PreparedStatement接口傳送SQL語句——數據錄入例子 203
11.4.4使用JDBC的資料庫事務操作——銀行轉賬 205
11.5JSP與資料庫連線池 209
11.6JSP與數據源(DataSource) 211
11.6.1數據源(DataSource)簡介 211
11.6.2配置使用數據源 211
11.7小結 213
第12章JSP與JavaMailWeb套用 214
12.1JavaMail的簡單實例 214
12.1.1準備郵件伺服器 214
12.1.2編寫程式 214
12.1.3運行程式並查看效果 216
12.2JavaMailAPI簡介 216
12.3使用JavaMailAPI傳送帶附屬檔案的郵件套用 217
12.3.1編寫程式 217
12.3.2運行程式並查看結果 220
12.4創建可傳送附屬檔案的JavaMailWeb套用 221
12.4.1JavaMailWeb套用的程式分析 221
12.4.2郵件賬戶管理 221
12.4.3包含檔案 224
12.4.4登錄郵件伺服器 224
12.4.5管理郵件夾中的郵件 227
12.4.6查看郵件 231
12.4.7寫新郵件 232
12.4.8退出系統 235
12.4.9發布JavaMailWeb套用 235
12.5小結 236
第13章XML在JSP中的套用 237
13.1XML與JSP 237
13.1.1什麼是XML 237
13.1.2XML的特點 238
13.1.3XML與JSP的工具介紹 239
13.2使用DOM解析接口操作XML檔案 240
13.2.1DOMAPI 240
13.2.2使用DOM讀寫XML檔案的例子 242
13.3使用JDOM操作XML檔案 246
13.3.1JDOM的安裝與簡介 246
13.3.2使用JDOM讀寫XML檔案 247
13.4使用SAX操作XML檔案 249
13.4.1SAXAPI 249
13.4.2使用SAX讀寫XML檔案 250
13.5使用XSLT給XML定製樣式 258
13.5.1建立XML檔案 260
13.5.2建立XSLT檔案 260
13.5.3建立源數據的對象 261
13.5.4建立結果數據的對象 262
13.5.5轉換數據 262
13.6小結 263
第14章使用Servlet過濾器和監聽器 264
14.1Servlet過濾器簡介 264
14.2實現一個Servlet過濾器 265
14.2.1編寫實現類的程式 265
14.2.2配置發布Servlet過濾器 267
14.3ServletRequest和ServletResponse的包裝類 268
14.4用Servlet過濾器過濾文本信息 269
14.4.1輸出流管理類 269
14.4.2編寫回響包裝類 270
14.4.3編寫Servlet過濾器 271
14.4.4編寫JSP和Servlet檔案 273
14.4.5發布運行Web套用 276
14.5Servlet監聽器簡介 277
14.5.1監聽伺服器ServletContext對象 277
14.5.2監聽客戶會話 278
14.5.3監聽客戶請求 278
14.6網站計數器實例——使用Servlet監聽器 279
14.7小結 282
第15章JSPWeb套用的安全性 283
15.1JSP/Servlet容器認證 283
15.1.1使用基本認證(BASIC) 285
15.1.2使用摘要認證(DIGEST) 286
15.1.3使用基於表單的認證(FORM) 286
15.2為Web套用配置使用SSL 288
15.2.1SSL簡介 288
15.2.2在Tomcat中為Web套用配置使用SSL 289
15.3小結 292
第3部分整合套用
第16章Tomcat容器的JSP特色套用 294
16.1使用Tomcat閥 294
16.1.1客戶訪問日誌閥 294
16.1.2遠程地址過濾器 296
16.1.3遠程主機過濾器 297
16.1.4客戶請求記錄器 297
16.1.5單點登錄閥 299
16.2使用基於JNDI的應用程式開發(介紹Tomcat的JNDI資源) 300
16.2.1使用通用JavaBeans資源 301
16.2.2使用JavaMailSessions資源 304
16.2.3使用JDBCDataSources 304
16.3小結 304
第17章在JSP中使用Hibernate實現數據持久化 305
17.1快速體驗JSP結合Hibernate——JSP和Hibernate結合的簡單例子 305
17.1.1Hibernate簡介 305
17.1.2配置Hibernate環境 307
17.1.3準備資料庫和資料庫連線池 308
17.1.4編寫持久化類 311
17.1.5編寫Hibernate配置檔案 313
17.1.6編寫映射檔案 314
17.1.7編寫JSP套用檔案 315
17.1.8編譯並發布Web套用 318
17.2Hibernate技術介紹 319
17.2.1映射定義 319
17.2.2Hibernate的類型 322
17.2.3Hibernate事務 323
17.3Hibernate配置 323
17.3.1可程式的配置方式 324
17.3.2XML配置檔案方式 326
17.4小結 327
第18章JSPWeb套用的設計概述 328
18.1可維護性與可擴展性設計 328
18.1.1可維護性 328
18.1.2可擴展性 329
18.2JSPWeb套用的設計 329
18.2.1以頁面為中心的設計(Model1) 329
18.2.2MVC設計模式(Model2) 330
18.3Web套用的架構框架 331
18.3.1Struts——最流行的MVC框架 331
18.3.2WebWork2——基於XWork的MVC框架 332
18.3.3Spring——以控制倒置原則為基礎的MVC框架 332
18.3.4JavaServerFaces——Sun力推的MVC框架 332
18.4Web套用的測試 332
18.4.1JUnit——優秀的單元測試工具 332
18.4.2Cactus——基於JUnit框架的伺服器端測試工具 333
18.5日誌 333
18.5.1Log4j——最流行的日誌工具 333
18.5.2JakartaCommonsLogging——Jakarta的優秀日誌工具 333
18.6小結 333
第19章MVC模式實現——Struts 334
19.1快速體驗Struts——使用Struts框架的簡單套用實例 334
19.1.1建立Struts開發環境 334
19.1.2實例介紹 335
19.1.3創建Model組件 335
19.1.4創建View組件 337
19.1.5編寫配置檔案 338
19.1.6發布運行Web套用 339
19.2Struts框架的體系結構與運行原理 340
19.2.1從Struts的組件來看Struts的工作原理 340
19.2.2Struts配置檔案struts-config.xml 342
19.3Struts組件介紹 344
19.3.1使用ActionServlet控制器類分發請求 344
19.3.2使用Action組件分離請求和業務 345
19.3.3使用ActionMapping映射Action 346
19.3.4ActionFormBean獲取表單數據 347
19.4使用Struts開發用戶登錄系統——Struts實例 348
19.4.1開發模型組件 348
19.4.2開發視圖組件 353
19.4.3開發輔助類 356
19.4.4創建配置檔案 360
19.4.5發布Web套用 361
19.4.6Web套用分析 363
19.5小結 365
第20章MVC模式實現——WebWork2 366
20.1快速體驗WebWork2——簡單套用實例 366
20.1.1WebWork2簡介 366
20.1.2建立WebWork2開發環境 367
20.1.3實例介紹 367
20.1.4開發構成類和JSP檔案 367
20.1.5編譯發布Web套用 372
20.2WebWork2組件介紹 373
20.2.1使用Action組件回響客戶請求 373
20.2.2使用ActionContext獲取用戶請求信息 374
20.2.3使用ServletDispatcher分發客戶請求 375
20.2.4使用Interceptor(攔截器)框架 376
20.2.5使用驗證框架驗證用戶輸入 378
20.2.6配置XWork 379
20.3使用WebWork2開發產品錄入系統——WebWork2實例 381
20.3.1創建Action組件 381
20.3.2創建視圖組件 382
20.3.3驗證框架 384
20.3.4編寫配置檔案 385
20.3.5運行基於WebWork2的Web套用 386
20.4小結 387
第21章JavaServerFaces 388
21.1快速體驗JavaServerFaces——使用JavaServerFaces開發的簡單例子 388
21.1.1JavaServerFaces技術介紹 388
21.1.2建立JavaServerFaces開發環境 389
21.1.3編寫相關類和檔案 389
21.1.4編譯發布Web套用 395
21.2JavaServerFaces的生命周期 396
21.3JSF定義的組件 397
21.3.1管理Bean 398
21.3.2驗證器 398
21.4JavaServerFaces導航規則 400
21.5小結 401
第22章JSPWeb套用測試 402
22.1JUnit簡介及安裝配置 402
22.1.1JUnit簡介 402
22.1.2安裝配置 403
22.2JUnit中常用的接口和類 403
22.3使用JUnit測試的例子 405
22.4使用Cactus測試Web套用 409
22.4.1Cactus介紹 409
22.4.2使用Cactus測試Web套用 409
22.5使用StrutsTestCase測試Struts應用程式 412
22.5.1StrutsTestCase介紹 412
22.5.2使用StrutsTestCase測試Struts應用程式的例子 412
22.6小結 418
第23章使用Log4j進行日誌管理與程式調試 419
23.1快速體驗Log4j——使用Log4j的簡單例子 419
23.1.1Log4j簡介 419
23.1.2建立Log4j環境 420
23.1.3使用Log4j的Web套用 420
23.2Log4j關鍵類和接口介紹 422
23.2.1Logger:日誌寫出器 422
23.2.2Level:日誌級別 423
23.2.3Appender接口 424
23.2.4Layout類:日誌輸出格式 424
23.2.5Log4j的Logger繼承性 425
23.3配置Log4j 426
23.3.1使用JavaProperties配置 426
23.3.2配置log4j.xml 429
23.3.3Log4j配置實現過程 433
23.4Web套用中使用Log4j的例子 434
23.5小結 435
第24章使用XDoclet簡化JSP的Web開發 436
24.1快速體驗XDoclet——使用XDoclet的簡單例子 436
24.1.1XDoclet介紹 436
24.1.2安裝配置XDoclet 436
24.1.3Java源程式和添加注釋 436
24.1.4書寫build.xml檔案 439
24.1.5運行實例 441
24.2XDoclet生成配置檔案過程介紹 442
24.3使用XDoclet進行Web開發 446
24.3.1開發Struts 446
24.3.2開發Servlet過濾器 449
24.3.3開發自定義標籤 451
24.3.4運行例子 451
24.4小結 454
第25章使用Ant管理JSPWeb套用 455
25.1快速體驗Ant——使用Ant的簡單例子 455
25.1.1Ant簡介 455
25.1.2安裝配置Ant 455
25.1.3編寫套用類檔案 456
25.1.4編寫相關的build.xml檔案 458
25.1.5使用Ant運行 459
25.2編寫build.xml檔案 460
25.2.1project元素介紹 460
25.2.2target元素介紹 461
25.2.3task元素介紹 461
25.2.4property元素介紹 462
25.2.5常用Anttask介紹 462
25.2.6build.xml實例分析 463
25.3用Ant發布複雜Web套用 464
25.3.1build.xml檔案 464
25.3.2init目標 467
25.3.3compile目標 467
25.3.4copyjar目標 468
25.3.5deploy目標 468
25.3.6clean和help目標 468
25.3.7使用Ant發布Web套用 468
25.4小結 469
第26章使用Eclipse開發JSP 470
26.1Eclipse簡介與Eclipse安裝 470
26.1.1Eclipse簡介 470
26.1.2安裝Eclipse和多國語言包 470
26.2使用Eclipse的Lomboz外掛程式開發JSP 472
26.2.1Lomboz外掛程式介紹 472
26.2.2安裝配置Lomboz外掛程式 473
26.2.3安裝Tomcat外掛程式 474
26.2.4使用Lomboz外掛程式開發JSP程式 475
26.2.5使用Lomboz外掛程式調試JSP程式 477
26.3小結 478
第27章使用JBuilder開發JSP 479
27.1快速體驗JBuilder 479
27.1.1安裝JBuilder 479
27.1.2JBuilder開發環境簡介 479
27.2使用JBuilder開發JSP(實例) 480
27.2.1建立工程及相關準備工作 480
27.2.2設定項目相關屬性 481
27.2.3新建WebModule 482
27.2.4開發JSP 483
27.3使用JBuilder開發Servlet(實例) 484
27.4使用JBuilder進行程式調試(實例) 488
27.5小結 489
第28章JSP結合EJB開發J2EE套用 490
28.1快速體驗EJB——JSP結合EJB開發的簡單例子 490
28.1.1J2EE簡介(J2EE體系結構) 490
28.1.2JBoss入門 491
28.1.3一個簡單的J2EE套用介紹 492
28.1.4開發EJB組件 493
28.1.5在Web套用中訪問EJB組件 496
28.1.6在JBoss中發布運行J2EE套用 498
28.2EJB技術介紹 499
28.2.1EJB組件介紹 499
28.2.2實體EJB 500
28.2.3會話EJB 501
28.2.4Web套用中訪問EJB組件過程介紹 501
28.3網上書店——J2EE套用實例 502
28.3.1創建EJB組件 502
28.3.2編寫配置檔案並在Web套用中訪問EJB組件 507
28.3.3發布J2EE套用 509
28.4小結 510
第29章JSP作為客戶訪問CORBA服務 511
29.1快速體驗CORBA——使用JSP訪問CORBA的簡單例子 511
29.1.1CORBA簡介 511
29.1.2實現CORBA服務的小例子 512
29.2CORBA技術構成 516
29.2.1對象請求代理(ObjectRequestBroker,ORB) 516
29.2.2接口定義語言(InterfaceDefinationLanguage,IDL) 517
29.2.3接口倉庫(InterfaceRepository,IR) 520
29.2.4對象適配器(ObjectAdapter,OA) 520
29.2.5動態調用接口(DynamicInvocationInterface,DII)和靜態調用接口
(StaticInvocationInterface,SII) 520
29.2.6GIOP和IIOP 521
29.3股票查詢服務——CORBA服務實例 521
29.3.1使用IDL語言定義IDL接口並編譯映射到Java程式 521
29.3.2實現IDL接口 522
29.3.3編寫服務端實現 524
29.3.4準備資料庫 525
29.3.5實現CORBA客戶端 525
29.3.6配置CORBA服務的Servlet客戶端 528
29.3.7測試CORBA服務與Web套用 529
29.4小結 530
第30章Velocity模板語言 531
30.1Velocity入門 531
30.1.1簡介 531
30.1.2安裝Velocity 531
30.1.3開始使用Velocity 532
30.2注釋 534
30.3引用 535
30.3.1變數引用 535
30.3.2屬性引用 536
30.3.3方法引用 539
30.3.4正式引用符(FormalReferenceNotation) 540
30.3.5安靜引用符(QuietReferenceNotation) 540
30.4指令 540
30.4.1#set指令——變數賦值 541
30.4.2#if/#elseif/#else指令——條件語句 542
30.4.3#foreach指令——循環語句 543
30.4.4#include指令——包含指令 547
30.4.5#parse指令——導入VM檔案 547
30.4.6#stop指令——停止模板執行 548
30.4.7#macro指令——定義VTL模板 548
30.5VTL的其他特徵 550
30.5.1關係運算和邏輯運算 550
30.5.2轉義VTL指令 551
30.5.3數學運算 551
30.5.4範圍操作 551
30.6小結 552
第4部分JSP套用案例
第31章JSP案例:線上圖書訂購系統 554
31.1BookStore實例介紹 554
31.1.1BookStore的結構描述 554
31.1.2BookStore的功能介紹 555
31.2開發並發布JavaBeans 556
31.2.1圖書基本信息Bean——Book 556
31.2.2購物車Bean——BookShopCart 560
31.2.3購買項目Bean——ShopBookItem 562
31.3資料庫操作 563
31.4JSP頁面 564
31.4.1圖書列表頁面 564
31.4.2添加圖書確認頁面 566
31.4.3中轉頁面 569
31.4.4查看購物車 570
31.5發布運行BookStore套用 573
31.6小結 573