圖書簡介
本書由淺入深、循序漸進地介紹了學習Java Web程式開發必備的知識和技能。主要內容包括構建Java Web開發環境、JSP頁面元素、JSP內置對象、JavaBean、資料庫訪問技術、Servlet技術、使用EL表達式、JSTL標準標籤、JSP操作XML、檔案上傳與下載、使用Ajax技術、Struts 2框架的具體套用、Hibernate框架套用和Spring框架套用,最後以一個Struts 2+Hibernate+Spring三大框架整合的實例,綜合地介紹了Java Web在實際開發中的套用。
本書適合Java Web初學者快速入門,也適合已有Java Web基礎的人員完善自己的Java Web知識體系。另外,對於大中專院校和培訓班的學生,本書更是一本不可多得的教材。
圖書目錄
第1章構建JavaWeb應用程式 1
1.1初識JavaWeb 1
1.2JavaWeb開發環境概述 2
1.2.1開發工具包JDK 2
1.2.2Web伺服器 3
1.2.3資料庫 4
1.2.4Web瀏覽器 4
1.3JDK 4
1.3.1JDK的下載和安裝 5
1.3.2配置JDK 8
1.4安裝配置Tomcat伺服器 9
1.4.1Tomcat的下載和安裝 9
1.4.2配置Tomcat應用程式伺服器 10
1.5使用MyEclipse開發Web套用 12
1.5.1創建項目 13
1.5.2創建JSP檔案 14
1.5.3發布項目到Tomcat並運行 15
1.6習題 16
1.7實踐疑難解答 17
1.7.1在網頁設計中JSP和HTML有什麼區別 17
1.7.2啟動Tomcat出現java.net.BindException異常 17
第2章JSP頁面元素 19
2.1JSP指令元素 19
2.1.1page指令 20
2.1.2include指令 21
2.1.3taglib指令 22
2.2JSP腳本元素 23
2.2.1聲明 23
2.2.2表達式 24
2.2.3腳本程式 24
2.3JSP動作元素 25
2.3.1動作 26
2.3.2動作 27
2.3.3動作 29
2.3.4動作和動作 32
2.3.5動作 36
2.3.6動作和
動作 37
2.3.7JSP注釋 40
2.4項目案例:求圓的周長和面積 41
2.5習題 42
2.6實踐疑難解答 43
2.6.1被include引入的頁面有什麼要求或規範 43
2.6.2如何獲取跳轉頁面的參數 44
2.6.3JSP中動作元素include和forward的差別 45
第3章JSP內置對象 47
3.1request對象 47
3.1.1request對象方法 47
3.1.2獲取客戶端請求參數 48
3.1.3獲取HTTP請求頭 52
3.2response對象 54
3.2.1response對象方法 54
3.2.2重定向 54
3.3out對象 56
3.4session對象 58
3.4.1session對象的方法 58
3.4.2session對象的ID 58
3.4.3session對象的套用 60
3.5application對象 62
3.6page與config對象 64
3.7pageContext對象 65
3.8exception對象 67
3.9綜合案例:線上考試系統 69
3.10習題 71
3.11實踐疑難解答 72
3.11.1JSP內置對象為什麼可以直接
使用 72
3.11.2JSP中的request對象可以設定多
個屬性 73
3.11.3JSP中的內置對象的作用域是什
么意思 73
第4章JavaBean編程技術 75
4.1JavaBean概述 75
4.1.1JavaBean技術介紹 75
4.1.2JavaBean的分類 76
4.1.3JavaBean規範 77
4.2JavaBean的屬性 78
4.2.1Simple屬性 78
4.2.2Indexed屬性 79
4.2.3Bound屬性 80
4.2.4Constrained屬性 82
4.3更加對象化的JSP開發 84
4.3.1創建JavaBean 84
4.3.2創建註冊頁面 85
4.3.3創建用戶信息顯示頁面 86
4.3.4運行結果 87
4.4JavaBean與JSP的完美結合 88
4.4.1創建JavaBean 88
4.4.2創建學生檔案錄入頁面 89
4.4.3在JSP頁面中使用useBean
標籤 90
4.4.4運行結果 91
4.5JavaBean的作用域 92
4.5.1JavaBean的作用域簡介 92
4.5.2Page作用域 92
4.5.3Request作用域 94
4.5.4Session作用域 97
4.5.5Application作用域 98
4.6項目案例:對用戶登錄信息進行檢測 99
4.7習題 103
4.8實踐疑難解答 104
4.8.1JavaBean出現找不到屬性值的
問題 104
4.8.2為JavaBean屬性賦值時出現500
錯誤 105
第5章資料庫訪問技術 106
5.1JDBC概述 106
5.1.1什麼是JDBC 106
5.1.2JDBC的API介紹 107
5.1.3JDBC驅動程式 107
5.2JDBC連線資料庫常用類 108
5.2.1管理驅動程式類
DriverManager 108
5.2.2Connection接口 110
5.3JDBC-ODBC橋連Access資料庫 111
5.4使用連線池連線資料庫 114
5.5JDBC訪問資料庫的常用接口 116
5.5.1Statement接口 116
5.5.2PreparedStatement接口 117
5.5.3CallableStatement接口 119
5.5.4ResultSet接口 120
5.6在JSP頁面中直接訪問資料庫 121
5.7項目案例:會員增刪改查 124
5.8習題 132
5.9實踐疑難解答 133
5.9.1關於Connection接口的問題 133
5.9.2JDBC連線資料庫傳遞參數
的問題 134
5.9.3不同的資料庫需要不同的驅動程
序嗎 135
第6章Servlet技術 136
6.1Servlet概述 136
6.2Servlet的配置 138
6.2.1Servlet的名字及類的配置 138
6.2.2Servlet初始化參數的配置 139
6.3JavaServletAPI 140
6.4會話跟蹤技術 150
6.4.1三種會話機制 150
6.4.2HTTP會話 151
6.5Servlet過濾器和監聽器 157
6.5.1過濾器 157
6.5.2監聽器 161
6.6項目案例:根據條件查詢用戶 166
6.7習題 169
6.8實踐疑難解答 170
6.8.2關於Servlet過濾器的問題 170
6.8.3Servlet容器調用自定義
Servlet的問題 171
第7章使用EL表達式 172
7.1EL簡介 172
7.2EL語法 173
7.2.1EL變數 173
7.2.2EL運算符 174
7.2.3運算符的優先權 178
7.2.4EL表達式中的保留字 178
7.2.5自動轉換類型 178
7.3EL隱含對象 179
7.3.1與範圍有關的隱含對象 180
7.3.2與輸入有關的隱含對象 180
7.3.3訪問環境信息的隱含對象 183
7.4EL函式 185
7.5項目案例:使用EL表達式顯示留言
信息 187
7.6習題 188
7.7實踐疑難解答 190
7.7.1EL函式報錯 190
7.7.2EL表達式能否直接引用
javaBean中的方法 190
7.7.3如何使用EL表達式獲取
參數值 191
第8章JSTL標籤庫 192
8.1JSTL標籤庫簡介 192
8.2核心標籤庫 193
8.2.1一般用途的標籤 193
8.2.2流程控制標籤 199
8.2.3循環控制標籤 202
8.2.4URL相關標籤 206
8.3I18N標籤庫 209
8.3.1數字格式化標籤 209
8.3.2日期時間格式化標籤 212
8.3.3Web套用和訊息的國際化
標籤 215
8.4SQL標籤庫 220
8.5XML標籤庫 226
8.6函式標籤庫 229
8.7項目案例:保留登錄信息 232
8.8習題 234
8.9實踐疑難解答 236
8.9.1JSTL標籤庫異常 236
8.9.2JSTL格式化輸出下午時間卻
顯示為上午 237
第9章JSP操作XML 238
9.1XML概述 238
9.1.1XML文檔結構 238
9.1.2XML語法特點 240
9.1.3XML元素屬性 240
9.1.4字元和實體引用 241
9.2XML的兩種語法規則 242
9.2.1文檔類型定義 242
9.2.2元素屬性的定義 243
9.2.3Schema文檔規則 246
9.3DOM解析XML文檔 247
9.3.1DOM接口 247
9.3.2DOM讀取XML檔案 249
9.4SAX解析XML文檔 251
9.4.1SAX常用接口 252
9.4.2SAX讀取XML檔案 253
9.5DOM4J解析XML文檔 258
9.5.1DOM4J介紹 258
9.5.2使用DOM4J創建XML文檔 259
9.5.3使用DOM4J解析XML檔案 261
9.6項目案例:學生信息管理 265
9.7習題 270
9.8實踐疑難解答 271
9.8.1DOM4J怎樣獲取節點屬性 271
9.8.2DOM4J生成的XML檔案沒
有格式 272
9.8.3DOM4J中文亂碼問題 273
第10章檔案的上傳與下載 274
10.1檔案上傳 274
10.1.1Common-FileUpload組件
的下載 274
10.1.2Common-FileUpload組件
核心 275
10.1.3簡單檔案上傳 277
10.1.4限制檔案上傳類型 280
10.1.5讀取表單信息 282
10.2檔案下載 285
10.2.1檔案類(File) 285
10.2.2檔案位元組輸入流 286
10.2.3位元組輸出流 286
10.3項目案例:音樂收藏夾 288
10.4習題 292
10.5實踐疑難解答 293
10.5.1使用Common-fileUpload
上傳獲取文本框值的問題 293
10.5.2在檔案上傳的時候報錯 294
第11章套用Ajax技術 295
11.1Ajax簡介 295
11.1.1Ajax開發模式與傳統開發模式
的比較 295
11.1.2Ajax技術的特點 296
11.1.3Ajax需要注意的幾個問題 297
11.1.4Ajax使用的技術 298
11.2使用XMLHttpRequest對象 299
11.2.1初始化XMLHttpRequest
對象 300
11.2.2XMLHttpRequest對象的常用
方法 301
11.2.3XMLHttpRequest對象的常用
屬性 303
11.3傳送請求與處理回響 304
11.3.1傳送請求 304
11.3.2處理伺服器回響 306
11.4Ajax重構 311
11.5項目案例:驗證用戶名是否被註冊 316
11.6習題 318
11.7實踐疑難解答 320
11.7.1XMLHttpRequest狀態為0的
問題 320
11.7.2Ajax路徑問題 320
第12章Struts2框架 323
12.1Struts2簡介 323
12.1.1MVC設計模式 323
12.1.2MVC的優點 325
12.1.3Struts2的結構體系 326
12.2配置Struts2運行環境 327
12.3Struts2配置檔案 328
12.3.1web.xml配置 328
12.3.2struts.xml配置 330
12.4Action配置 334
12.4.1Action的實現類 334
12.4.2Action配置 336
12.4.3動態方法調用 337
12.4.4使用method屬性 341
12.5Result配置 343
12.5.1Result映射 343
12.5.2Result類型 344
12.6Struts2的攔截器 349
12.6.1攔截器概述 349
12.6.2配置攔截器 350
12.6.3使用攔截器 352
12.6.4攔截器套用 353
12.7Struts2標籤庫 356
12.7.1Struts2標籤庫概述 356
12.7.2表單標籤 357
12.7.3非表單標籤 360
12.7.4控制標籤 362
12.7.5數據標籤 365
12.8輸入校驗 368
12.8.1手動輸入校驗 368
12.8.2定義校驗規則 368
12.8.3校驗檔案的配置風格 369
12.9檔案上傳與下載 370
12.9.1在Struts2中實現檔案上傳 371
12.9.2Struts2實現檔案下載 375
12.10項目案例:對客戶信息進行校驗 378
12.11習題 382
12.12實踐疑難解答 383
12.12.1package配置的命名空間
問題 383
12.12.2Struts2中疊代List時的疊代次
數問題 384
第13章Hibernate技術 385
13.1ORM簡介 385
13.1.1ORM的概念 385
13.1.2ORM優缺點 386
13.2Hibernate簡介 386
13.2.1Hibernate的發展 386
13.2.2Hibernate的下載與安裝 387
13.3簡單的Hibernate程式 388
13.3.1創建項目 388
13.3.2創建持久化類 388
13.3.3Hibernate映射檔案 389
13.3.4Hibernate配置檔案 390
13.3.5運行程式 391
13.4Session接口 393
13.4.1Configuration 393
13.4.2SessionFactory 394
13.4.3Session 394
13.4.4Transaction 395
13.4.5Query和Criteia 395
13.5Hibernate數據持久化 396
13.5.1Hibernate實例狀態 396
13.5.2Hibernate的增刪改查操作 397
13.5.3載入對象 398
13.6Hibernate的快取 399
13.6.1一級快取 399
13.6.2二級快取 400
13.7映射檔案配置 402
13.7.1<hibernate-mapping>元素 402
13.7.2<class>元素 403
13.7.3<id>元素 404
13.7.4<property>元素 407
13.8映射關係 408
13.8.1映射單向多對一關聯 408
13.8.2基於外鍵單向一對一關聯 410
13.8.3基於主鍵單向一對一關聯 411
13.8.4映射雙向一對一關聯 412
13.8.5映射雙向一對多關聯 414
13.8.6映射單向多對多關聯 415
13.8.7映射雙向多對多關聯 417
13.9HQL語言 418
13.9.1HQL查詢語言 418
13.9.2連線查詢 420
13.9.3子查詢 423
13.9.4參數綁定機制 423
13.9.5分頁查詢 424
13.10學生信息管理系統 425
13.10.1功能概述 426
13.10.2Hibernate映射檔案 427
13.10.3Hibernate配置檔案 428
13.10.4系統實現 428
13.11習題 434
13.12實踐疑難解答 435
13.12.1uniqueResult的使用問題 435
13.12.2update更新操作 436
第14章Spring框架 437
14.1Spring概述 437
14.1.1Spring體系結構 437
14.1.2Spring的下載與安裝 439
14.1.3使用BeanFactory管理Bean 439
14.1.4ApplicationContext套用 440
14.2Spring依賴注入 441
14.2.1依賴注入和控制反轉 441
14.2.2IOC的類型 442
14.2.3Bean的配置 443
14.2.4Setter注入 444
14.2.5構造器注入 445
14.2.6引用其他Bean 446
14.2.7集合類型屬性 447
14.3AOP 449
14.3.1AOP簡介 449
14.3.2通知(advice) 451
14.3.3切入點 459
14.4自動代理 466
14.4.1使用BeanNameAutoProxy-
Creator 466
14.4.2使用DefaultAdvisorAutoProxy-
Creator 468
14.5項目案例:整合Struts2實現用戶
註冊 468
14.6習題 472
14.7實踐疑難解答 473
14.7.1用了Spring之後能否使用new創建對象 473
14.7.2IOC和AOP有什麼作用,為什麼要用它們 473
第15章交友社區項目 474
15.1系統概述 474
15.1.1需求分析 474
15.1.2系統用例圖 475
15.1.3系統設計 476
15.2資料庫設計 476
15.3搭建Hibernate+Struts2+Spring開發
環境 477
15.3.1整合Struts2 478
15.3.2載入Hibernate 479
15.3.3載入Spring 480
15.4系統實現 482
15.4.1個人中心 482
15.4.2好友管理 490
15.4.3個性空間 495
習題答案 503