內容簡介
本書系統、全面地介紹了有關Java Web 程式開發所涉及的各類知識。全書共分18 章,內容包括Web 套用開發概述、HTML 與CSS 網頁開發基礎、JavaScript 腳本語言、搭建Java Web 開發環境、JSP 基本語法、JSP 的內置對象、JavaBean 技術、Servlet 技術、資料庫套用開發、EL( 表達式語言)、JSTL 核心標籤庫、Ajax 技術、 Struts 2 框架技術、Hibernate 技術、Spring 技術、綜合案例--基於Struts 2+Hibernate+Spring 的網路商城、課程設計--基於Struts 2 的部落格網站、課程設計--基於Servlet 的圖書館管理系統。
書中的每章內容都與實例緊密結合,有助於學生理解知識、套用知識,達到學以致用的目的。
圖書目錄
第 1章 Web套用開發概述 1
1.1 網路程式開發體系結構 1
1.1.2 B/S結構介紹 2
1.1.3 兩種體系結構的比較 2
1.2 Web簡介 3
1.2.1 什麼是Web 3
1.2.2 Web的工作原理 3
1.2.3 Web的發展歷程 4
1.3 Web開發技術 4
1.3.1 客戶端套用技術 5
1.3.2 伺服器端套用技術 7
知識點提煉 8
習題 8
第 2章 HTML與CSS網頁開發基礎 9
2.1 HTML 9
2.1.2 HTML文檔結構 11
2.1.3 HTML常用標記 11
2.1.4 表格標記 14
2.1.6 超連結與圖片標記 19
2.2.1 CSS規則 21
2.2.3 在頁面中包含CSS 23
2.3 CSS 3的新特徵 25
2.3.1 模組與模組化結構 25
2.3.2 一個簡單的CSS 3實例 25
2.4 綜合實例--套用DIV+CSS布局許願牆主界面 27
知識點提煉 32
習題 32
實驗:編寫用戶註冊表單 32
實驗目的 32
實驗內容 33
實驗步驟 33
第3章 JavaScript腳本語言 34
3.1 了解JavaScript 34
3.1.1 什麼是JavaScript 34
3.1.2 JavaScript的主要特徵 34
3.2 JavaScript語言基礎 35
3.2.1 JavaScript的語法 35
3.2.2 JavaScript中的關鍵字 36
3.2.3 JavaScript的數據類型 36
3.2.4 變數的定義及使用 38
3.2.5 運算符的套用 39
3.3 流程控制語句 41
3.3.1 if條件判斷語句 42
3.3.2 switch多分支語句 44
3.3.3 for循環語句 46
3.3.4 while循環語句 47
3.3.5 do…while循環語句 47
3.3.6 break與continue語句 48
3.4 函式 49
3.4.1 函式的定義 49
3.4.2 函式的調用 50
3.5 事件處理 51
3.5.1 什麼是事件處理程式 51
3.5.2 JavaScript常用事件 51
3.5.3 事件處理程式的調用 52
3.6 常用對象 53
3.6.1 Window對象 53
3.6.2 String對象 56
3.6.3 Date對象 60
3.7 DOM技術 62
3.7.1 DOM的分層結構 62
3.7.2 遍歷文檔 63
3.7.3 獲取文檔中的指定元素 64
3.7.4 操作文檔 64
3.8 綜合實例--將數字字元串格式化為指定長度 66
知識點提煉 67
習題 68
實驗:驗證用戶註冊信息的合法性 68
實驗目的 68
實驗內容 68
實驗步驟 68
第4章 搭建Java Web開發環境 71
4.1 JSP概述 71
4.1.1 Java的體系結構 71
4.1.2 JSP技術特徵 72
4.1.3 JSP頁面的執行過程 73
4.1.4 在JSP中套用MVC架構 74
4.1.5 JSP開發及運行環境 74
4.2 JDK的安裝與配置 76
4.2.1 JDK的下載與安裝 76
4.2.2 在Windows系統下配置和測試JDK 77
4.3 Tomcat的安裝與配置 78
4.3.1 下載和安裝Tomcat伺服器 78
4.3.2 Tomcat的結構 81
4.3.3 修改Tomcat的默認連線埠 81
4.3.4 部署Web套用 81
4.4 Eclipse開發工具的安裝與使用 82
4.4.1 Eclipse的下載與安裝 82
4.4.2 啟動Eclipse 82
4.4.3 安裝Eclipse中文語言包 83
4.4.4 Eclipse工作檯 83
4.5 綜合實例--使用Eclipse開發一個Java Web網站 84
知識點提煉 88
習題 89
實驗:創建並發布一個Java Web網站 89
實驗目的 89
實驗內容 89
實驗步驟 89
第5章 JSP基本語法 91
5.1 JSP頁面的基本構成 91
5.2 指令標識 92
5.2.2 include指令 95
5.3 腳本標識 97
5.3.1 JSP表達式(Expression) 97
5.3.2 聲明標識(Declaration) 97
5.3.3 代碼片段 98
5.4 注釋 99
5.4.1 HTML中的注釋 99
5.4.2 隱藏注釋 100
5.4.3 動態注釋 100
5.4.4 代碼片段中的注釋 100
5.5 動作標識 102
5.5.1 操作JavaBean的動作標識 102
5.5.2 包含外部檔案的動作標識 106
5.5.3 執行請求轉發的動作標識 107
5.5.4 設定參數的子動作標識 108
5.6 綜合實例--包含需要傳遞參數的檔案 109
知識點提煉 111
習題 111
實驗:動態添加下拉列表的列表項 111
實驗目的 111
實驗內容 111
實驗步驟 112
第6章 JSP的內置對象 113
6.1 內置對象概述 113
6.2 request請求對象 114
6.2.1 獲取訪問請求參數 114
6.2.2 獲取表單提交的信息 115
6.2.3 解決中文亂碼 115
6.2.5 獲取客戶端信息 117
6.2.6 獲取cookie 118
6.2.7 顯示國際化信息 120
6.3 response回響對象 120
6.3.1 實現重定向頁面 120
6.3.2 處理HTTP檔案頭 121
6.3.3 設定輸出緩衝 123
6.4 out輸出對象 123
6.4.1 向客戶端輸出數據 123
6.4.2 管理相應緩衝區 124
6.5 session會話對象 125
6.5.1 創建及獲取客戶的會話 125
6.5.2 從會話中移除指定的對象 125
6.5.3 設定session的有效時間 126
6.5.4 銷毀session 126
6.6 application套用對象 126
6.6.1 訪問應用程式初始化參數 126
6.6.2 應用程式環境屬性管理 127
6.6.3 套用application實現
網頁計數器 128
6.7 其他內置對象 129
6.7.1 應答與請求的page對象 129
6.7.2 獲取頁面上下文的pageContext對象 130
6.7.3 獲取web.xml配置信息的config對象 130
6.7.4 獲取異常信息的exception對象 130
6.8 綜合實例--套用session實現用戶登錄 131
知識點提煉 133
習題 134
實驗:帶驗證碼的用戶登錄 134
實驗目的 134
實驗內容 134
實驗步驟 134
第7章 JavaBean技術 136
7.1 JavaBean技術簡介 136
7.1.1 JavaBean概述 136
7.1.2 JavaBean種類 137
7.2 JavaBean的套用 138
7.2.1 獲取JavaBean屬性 138
7.2.2 對JavaBean屬性賦值 140
7.2.3 如何在JSP頁面中套用JavaBean 141
7.3 綜合實例--套用JavaBean解決中文亂碼 143
知識點提煉 145
習題 146
實驗:轉換輸入文本中的回車和空格 146
實驗目的 146
實驗內容 146
實驗步驟 146
第8章 Servlet技術 149
8.1 Servlet基礎 149
8.1.1 Servlet體系結構 149
8.1.2 Servlet技術特點 150
8.1.3 Servlet與JSP的區別 151
8.2 Servlet開發 151
8.2.1 創建Servlet 152
8.2.2 Servlet配置 155
8.2.3 在Servlet中實現頁面轉發 156
8.2.4 Servlet處理表單數據 156
8.3 Servlet過濾器 158
8.3.1 什麼是過濾器 158
8.3.2 過濾器的核心對象 159
8.3.3 過濾器創建與配置 160
8.4 Servlet監聽器 163
8.4.1 Servlet監聽器簡介 163
8.4.2 Servlet監聽器的原理 163
8.4.3 Servlet上下文監聽 164
8.4.4 HTTP會話監聽 165
8.4.5 Servlet請求監聽 166
8.5 綜合實例--套用監聽器統計線上用戶 166
知識點提煉 169
習題 169
實驗:編寫一個字元編碼過濾器 169
實驗目的 169
實驗內容 169
實驗步驟 170
第9章 資料庫套用開發 173
9.1 JDBC簡介 173
9.1.1 JDBC技術介紹 173
9.2 JDBC API 174
9.2.1 Driver接口 175
9.2.3 DriverManager類 176
9.2.4 Statement接口 177
9.2.5 PreparedStatement接口 177
9.2.6 CallableStatement接口 178
9.2.7 ResultSet接口 179
9.3 連線資料庫 179
9.3.2 創建資料庫連線 180
9.3.3 執行SQL語句 181
9.3.4 獲得查詢結果 181
9.3.5 關閉連線 182
9.4 JDBC運算元據庫 182
9.4.1 添加數據 182
9.4.2 查詢數據 185
9.4.3 修改數據 188
9.4.4 刪除數據 190
9.4.5 批處理 190
9.4.6 調用存儲過程 193
9.5 綜合實例--分頁查詢 195
知識點提煉 199
習題 200
實驗:實現批量刪除數據 200
實驗目的 200
實驗內容 200
實驗步驟 200
第 10章 EL(表達式語言) 204
10.1 EL(表達式語言)概述 204
10.1.1 EL的基本語法 204
10.1.2 EL的特點 205
10.2 與低版本的環境兼容--禁用EL 205
10.2.1 使用反斜槓“\”符號 205
10.2.3 在web.
xml檔案中配置元素 206
10.3 保留的關鍵字 206
10.4 EL的運算符及優先權 207
10.4.1 通過EL訪問數據 207
10.4.2 在EL中進行算術運算 209
10.4.3 在EL中判斷對象是否為空 209
10.4.4 在EL中進行邏輯關係運算 210
10.4.5 在EL中進行條件運算 211
10.5 EL的隱含對象 212
10.5.1 頁面上下文對象 212
10.5.2 訪問作用域範圍的隱含對象 213
10.5.3 訪問環境信息的隱含對象 214
10.6 綜合實例--通過EL顯示投票結果 216
知識點提煉 219
習題 219
實驗:套用EL訪問JavaBean屬性 220
實驗目的 220
實驗內容 220
實驗步驟 220
第 11章 JSTL核心標籤庫 222
11.1 JSTL標籤庫簡介 222
11.2 JSTL的下載與配置 224
11.2.1 下載JSTL標籤庫 224
11.2.2 配置JSTL 224
11.3 表達式標籤 227
11.3.1 輸出標籤 227
11.3.2 變數設定標籤 228
11.3.3 變數移除標籤 230
11.3.4 捕獲異常標籤 231
11.4 URL相關標籤 232
11.4.1 導入標籤 232
11.4.2 動態生成URL標籤 233
11.4.3 重定向標籤 234
11.4.4 傳遞參數標籤 235
11.5 流程控制標籤 235
11.5.1 條件判斷標籤 235
11.5.2 條件選擇標籤 236
11.5.3 條件測試標籤 237
11.5.4 其他條件標籤 238
11.6 循環標籤 239
11.6.1 循環標籤 239
11.6.2 疊代標籤 241
11.7 綜合實例--JSTL在電子商城中的套用 242
知識點提煉 245
習題 245
實驗:顯示資料庫中的圖書信息 245
實驗目的 245
實驗內容 245
實驗步驟 246
第 12章 Ajax技術 248
12.1 Ajax簡介 248
12.1.1 什麼是Ajax 248
12.1.2 Ajax開發模式與傳統開發模式的比較 248
12.1.3 Ajax的優點 249
12.2.1 初始化XMLHttpRequest對象 250
12.2.2 XMLHttpRequest對象的常用方法 251
12.2.3 XMLHttpRequest對象的常用屬性 252
12.3 傳統Ajax的工作流程 253
12.3.1 傳送請求 253
12.3.2 處理伺服器回響 254
12.3.3 一個完整的實例--檢測用戶名 256
12.4 套用jQuery實現Ajax 258
12.4.1 jQuery簡介 258
12.4.2 套用load()方法傳送請求 260
12.4.3 傳送GET和POST請求 261
12.4.4 伺服器返回的數據格式 265
12.4.5 使用$.ajax()方法 268
12.5 綜合實例--多級聯動下拉列表 270
知識點提煉 276
習題 276
實驗:實時顯示公告信息 276
實驗目的 276
實驗內容 276
實驗步驟 277
第 13章 Struts 2框架技術 279
13.1 Struts 2框架概述 279
13.1.1 理解MVC的原理 279
13.1.2 Struts 2框架的產生 280
13.1.3 Struts 2的結構體系 280
13.2 Struts 2入門 281
13.2.1 獲取與配置Struts 2 281
13.2.2 創建第 一個Struts 2程式 282
13.3 Action對象 284
13.3.1 認識Action對象 284
13.3.2 請求參數的注入原理 285
13.3.3 Action的基本流程 285
13.3.4 動態Action 285
13.3.5 套用動態Action 286
13.4 Struts 2的配置檔案 288
13.4.1 Struts 2的配置檔案類型 288
13.4.2 配置Struts 2包 288
13.4.3 配置名稱空間 289
13.4.4 Action的相關配置 289
13.4.5 使用通配符簡化配置 291
13.4.6 配置返回結果 291
13.5 Struts 2的標籤庫 292
13.5.1 套用數據標籤 292
13.5.2 套用控制標籤 294
13.5.3 套用表單標籤 296
13.6 Struts 2的開發模式 297
13.6.1 實現與Servlet API的互動 297
13.6.2 Domain Model(域模型) 297
13.6.3 Model Driven(驅動模型) 298
13.7 Struts 2的攔截器 299
13.7.1 攔截器概述 299
13.7.2 攔截器API 300
13.7.3 使用攔截器 301
13.8 綜合實例--利用Struts 2 實現簡單的投票器 302
知識點提煉 303
習題 303
實驗:Struts 2標籤下的用戶註冊 304
實驗目的 304
實驗內容 304
實驗步驟 304
第 14章 Hibernate技術 306
14.1 初識Hibernate 306
14.1.1 ORM原理 306
14.1.2 Hibernate簡介 306
14.2 Hibernate入門 307
14.2.1 獲取Hibernate 307
14.2.2 Hibernate配置檔案 307
14.2.3 編寫持久化類 309
14.2.4 Hibernate映射 310
14.2.5 Hibernate主鍵策略 311
14.3.1 Hibernate實例狀態 312
14.3.2 Hibernate初始化類 312
14.3.3 保存數據 314
14.3.4 查詢數據 316
14.3.5 刪除數據 316
14.3.6 修改數據 317
14.3.7 延遲載入 318
14.4 使用Hibernate的快取 319
14.4.1 使用一級快取 319
14.4.2 配置和使用二級快取 320
14.5 HQL(Hibernate查詢語言) 321
14.5.1 HQL概述 321
14.5.2 查詢實體對象 322
14.5.3 條件查詢 323
14.5.4 HQL參數綁定機制 323
14.5.5 排序查詢 324
14.5.6 套用聚合函式 324
14.5.7 分組方法 324
14.5.8 聯合查詢 325
14.6 綜合實例--修改員工信息 325
知識點提煉 327
習題 328
實驗:員工信息的模糊查詢 328
實驗目的 328
實驗內容 328
實驗步驟 328
第 15章 Spring技術 330
15.1 Spring概述 330
15.1.1 Spring組成 330
15.1.2 獲取Spring 331
15.1.3 配置Spring 331
15.1.4 使用BeanFactory管理Bean 332
15.1.5 套用ApllicationContext 333
15.2 依賴注入 334
15.2.1 控制反轉與依賴注入 334
15.2.2 配置Bean 335
15.2.3 Setter注入 335
15.2.4 引用其他Bean 336
15.3 AOP概述 337
15.3.1 AOP術語 338
15.3.2 AOP的簡單實現 339
15.4 Spring的切入點 340
15.4.1 靜態切入點與動態切入點 340
15.4.2 深入靜態切入點 341
15.4.3 深入切入點底層 341
15.4.4 Spring中的其他切入點 342
15.5 Aspect對AOP的支持 342
15.5.1 Aspect概述 342
15.5.2 Spring中的Aspect 343
15.5.3 DefaultPointcutAdvisor切入點配置器 343
15.5.4 NameMatchMethodPointcutAdvisor切入點配置器 344
15.6 Spring持久化 344
15.6.1 DAO模式 344
15.6.2 Spring的DAO理念 345
15.6.3 事務管理 347
15.6.4 套用JdbcTemplate運算元據庫 350
15.6.5 與Hibernate整合 351
15.7 綜合實例--整合Spring與Hibernate向表中添加信息 353
知識點提煉 354
習題 354
實驗:用AOP實現用戶註冊 354
實驗目的 354
實驗內容 355
實驗步驟 355
第 16章 綜合案例--基於Struts+Hibernate+Spring的網路商城 357
16.1 需求分析 357
16.2 系統設計 357
16.2.1 系統目標 357
16.2.2 系統功能結構 358
16.3 系統開發及運行環境 359
16.4 資料庫與數據表設計 359
16.4.1 E-R圖設計 359
16.4.2 創建資料庫及數據表 360
16.5 系統資料夾組織結構 362
16.6 搭建項目環境 362
16.6.1 配置Struts 2 363
16.6.2 配置Hibernate 365
16.6.3 配置Spring 366
16.6.4 配置web.xml 367
16.7 公共類設計 368
16.7.1 Hibernate的Session初始化類 368
16.7.2 泛型工具類 369
16.7.3 數據持久化類 370
16.7.4 分頁設計 372
16.8 登錄模組設計 375
16.9 前台商品信息查詢模組設計 377
16.9.1 實現商品類別分級查詢 377
16.9.2 實現商品搜尋 378
16.10 購物車模組設計 379
16.10.1 實現購物車的基本功能 380
16.10.2 實現訂單的相關功能 383
16.11 後台商品管理模組設計 385
16.11.1 查詢商品信息 385
16.11.2 修改商品信息 387
16.11.3 刪除商品信息 388
16.11.4 添加商品信息 388
16.12 後台訂單管理模組設計 388
16.12.1 實現後台訂單查詢 389
16.12.2 實現後台訂單狀態管理 390
16.13 網站編譯與發布 392
16.13.1 網站編譯 392
16.13.2 網站發布 392
第 17章 課程設計--基於Struts 2的部落格網站 397
17.1 課程設計目的 397
17.2 功能描述 397
17.3 總體設計 398
17.3.1 構建開發環境 398
17.3.2 網站功能結構 398
17.4.1 實體E-R圖 400
17.4.2 數據表設計 400
17.5 實現過程 401
17.5.1 公共模組設計 401
17.5.2 主頁面設計 405
17.5.3 用戶管理模組設計 407
17.5.4 文章模組設計 411
17.6 調試運行 415
17.7 課程設計總結 416
第 18章 課程設計--基於Servlet的圖書館管理系統 417
18.1 課程設計目的 417
18.2 功能描述 418
18.3 總體設計 418
18.3.1 構建開發環境 418
18.3.2 網站功能結構 418
18.4.1 實體圖 420
18.4.2 數據表設計 421
18.5 實現過程 423
18.5.1 系統登錄設計 423
18.5.2 主界面設計 425
18.5.3 圖書借閱設計 427
18.5.4 圖書續借設計 431
18.5.5 圖書歸還設計 434
18.6 調試運行 435
18.7 課程設計總結 436