JSP是Java EE的核心技術(shù)之一,它是一種與平臺(tái)無(wú)關(guān)、基于Java Servlet技術(shù)及整個(gè)Java體系的Web開(kāi)發(fā)技術(shù),它秉承了Java語(yǔ)言的優(yōu)勢(shì),開(kāi)發(fā)周期短、代碼執(zhí)行效率高、可擴(kuò)展性和可移植性強(qiáng)、技術(shù)規(guī)范公開(kāi),因此成為了開(kāi)發(fā)Web應(yīng)用程序(動(dòng)態(tài)網(wǎng)站)的主要技術(shù)之一。本書(shū)系統(tǒng)地介紹了Tomcat服務(wù)器的使用、JSP的基本語(yǔ)法、JSP的內(nèi)置對(duì)象、Servlet技術(shù)、Java Bean的使用、JDBC數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)等JSP基本技術(shù);還介紹了Servlet事件監(jiān)聽(tīng)器、過(guò)濾器、表達(dá)式語(yǔ)言、自定義標(biāo)簽、標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL)等JSP高級(jí)技術(shù);使用JSP解決Web應(yīng)用程序開(kāi)發(fā)中的常見(jiàn)問(wèn)題,包括:頁(yè)面間數(shù)據(jù)的傳遞、JSP中文問(wèn)題、國(guó)際化、日志組件、文件上傳組件、安全設(shè)置等。本書(shū)力求深入淺出,例程精練典型,是系統(tǒng)學(xué)習(xí)JSP技術(shù)的教材和參考手冊(cè)。本書(shū)沒(méi)有介紹JSP Web程序模式二(MVC)開(kāi)發(fā)技術(shù),即各種JSP開(kāi)發(fā)框架,但為進(jìn)一步學(xué)習(xí)這些技術(shù)打下了必要的基礎(chǔ)。本書(shū)內(nèi)容豐富、突出應(yīng)用、例程詳盡,對(duì)JSP中的疑難點(diǎn)進(jìn)行了辨析。本書(shū)可作為高等學(xué)校本、專(zhuān)科的教材及各類(lèi)培訓(xùn)班的教材,也可供從事計(jì)算機(jī)應(yīng)用和開(kāi)發(fā)的各類(lèi)人員學(xué)習(xí)參考。
楊占勝,臨沂大學(xué)信息學(xué)院教師。省級(jí)精品課程網(wǎng)絡(luò)軟件開(kāi)發(fā)課程群-Java Web應(yīng)用程序課程負(fù)責(zé)人。主要教授:軟件開(kāi)發(fā)基礎(chǔ)、Java Web應(yīng)用程序開(kāi)發(fā)、專(zhuān)業(yè)英語(yǔ)等。
第1篇 JSP基本技術(shù)
第1章 JSP運(yùn)行環(huán)境 1
1.1 動(dòng)態(tài)網(wǎng)頁(yè)技術(shù) 1
1.1.1 Web發(fā)展的三個(gè)階段 1
1.1.2 Web應(yīng)用程序開(kāi)發(fā)的三個(gè)階段 2
1.1.3 HTTP請(qǐng)求地址――URL 3
1.1.4 HTTP狀態(tài)碼 3
1.1.5 JSP動(dòng)態(tài)網(wǎng)頁(yè)的處理過(guò)程 5
1.2 Tomcat服務(wù)器的安裝與配置 5
1.2.1 安裝Java SE 5
1.2.2 安裝Tomcat 7
1.2.3 Tomcat服務(wù)器的結(jié)構(gòu) 9
1.2.4 Tomcat服務(wù)器的配置文件 9
1.3 JSP Web應(yīng)用程序的結(jié)構(gòu)與
發(fā)布 11
本章小結(jié) 15
思考題 15
第2章 JSP基本語(yǔ)法 16
2.1 JSP的構(gòu)成 16
2.2 指令元素 16
2.2.1 page指令 17
2.2.2 include指令 20
2.2.3 taglib指令 21
2.3 腳本元素 21
2.3.1 Scriptlet 22
2.3.2 表達(dá)式 22
2.3.3 聲明 23
2.4 動(dòng)作元素 26
2.4.1 <jsp:include> 26
2.4.2 <jsp:param> 28
2.4.3 <jsp:forward> 28
2.4.4 <jsp:plugin> 29
本章小結(jié) 31
思考題 31
第3章 JSP內(nèi)置對(duì)象 32
3.1 out 32
3.2 request 33
3.3 response 38
3.4 Cookie 40
3.5 session 42
3.6 application 45
3.7 pageContext 46
3.8 page 48
3.9 JSP作用域 49
3.10 config 49
3.11 exception 50
3.12 內(nèi)置對(duì)象綜合例程 50
本章小結(jié) 53
思考題 53
第4章 Servlet 54
4.1 Servlet技術(shù) 54
4.1.1 Servlet技術(shù)概述 54
4.1.2 Servlet的特點(diǎn) 54
4.1.3 Servlet的生命周期 54
4.2 Servlet接口 56
4.2.1 Servlet實(shí)現(xiàn)相關(guān) 57
4.2.2 Servlet配置相關(guān) 59
4.2.3 請(qǐng)求和響應(yīng)相關(guān) 60
4.2.4 會(huì)話相關(guān) 61
4.2.5 Servlet上下文相關(guān) 61
4.2.6 Servlet協(xié)作相關(guān) 61
4.2.7 過(guò)濾器相關(guān) 62
4.2.8 Servlet異常相關(guān) 62
4.3 Servlet設(shè)計(jì)與配置 63
4.3.1 Servlet的開(kāi)發(fā)流程 63
4.3.2 JSP的配置路徑 69
4.3.3 Servlet的注解配置 70
4.4 JSP Web應(yīng)用程序的開(kāi)發(fā)模式 72
本章小結(jié) 73
思考題 74
第5章 Java Bean 75
5.1 Java Bean簡(jiǎn)介 75
5.1.1 Java Bean的特性 75
5.1.2 Java Bean的屬性 75
5.1.3 Java Bean的編寫(xiě) 76
5.2 JSP中使用Java Bean 77
5.2.1 <jsp:useBean> 78
5.2.2 <jsp:getProperty> 79
5.2.3 <jsp:setProperty> 79
本章小結(jié) 83
思考題 83
第6章 JDBC 84
6.1 JDBC介紹 84
6.2 JDBC API 85
6.2.1 Driver接口 85
6.2.2 DriverManager類(lèi) 85
6.2.3 Connection接口 86
6.2.4 Statement接口 86
6.2.5 ResultSet接口 87
6.3 JDBC訪問(wèn)數(shù)據(jù)庫(kù) 88
6.3.1 使用JDBC-ODBC橋訪問(wèn)
數(shù)據(jù)庫(kù) 90
6.3.2 使用All-Java JDBC Driver
訪問(wèn)數(shù)據(jù)庫(kù) 98
6.3.3 通過(guò)Java Bean訪問(wèn)數(shù)據(jù)庫(kù) 107
6.3.4 JDBC的其他操作 125
6.4 數(shù)據(jù)分頁(yè)顯示 131
6.5 數(shù)據(jù)庫(kù)連接池 143
6.6 JSP數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例 145
本章小結(jié) 159
思考題 160
第7章 Eclipse 161
7.1 Eclipse開(kāi)發(fā)環(huán)境的建立 161
7.1.1 Eclipse的下載安裝 161
7.1.2 插件安裝 162
7.2 Eclipse的界面與參數(shù)設(shè)置 165
7.2.1 Eclipse的界面 165
7.2.2 Eclipse的參數(shù)設(shè)置 167
7.3 使用Eclipse開(kāi)發(fā)JSP 171
7.3.1 動(dòng)態(tài)Web項(xiàng)目的建立 171
7.3.2 Eclipse內(nèi)嵌Web服務(wù)器 173
7.3.3 增強(qiáng)的代碼編輯功能 177
7.4 Eclipse項(xiàng)目管理 183
7.4.1 項(xiàng)目導(dǎo)出 183
7.4.2 導(dǎo)入項(xiàng)目 184
本章小結(jié) 186
思考題 186
第2篇 JSP應(yīng)用開(kāi)發(fā)專(zhuān)題
第8章 頁(yè)面之間數(shù)據(jù)的傳遞 187
8.1 同一個(gè)會(huì)話頁(yè)面間數(shù)據(jù)的傳遞 187
8.2 不同會(huì)話頁(yè)面間數(shù)據(jù)的傳遞 192
本章小結(jié) 193
思考題 193
第9章 JSP中文問(wèn)題 194
9.1 字符編碼 194
9.2 Java語(yǔ)言中的編碼 196
9.2.1 Java程序處理中的編碼轉(zhuǎn)換 196
9.2.2 JSP程序處理過(guò)程中的
編碼轉(zhuǎn)換 197
9.2.3 JSP中文處理 199
9.2.4 數(shù)據(jù)庫(kù)中文問(wèn)題 203
本章小結(jié) 207
思考題 207
第10章 JSP應(yīng)用程序的安全性 208
10.1 安全配置元素 208
10.2 Tomcat安全域 211
10.3 安全控制實(shí)例 213
本章小結(jié) 215
思考題 216
第3篇 JSP高級(jí)技術(shù)
第11章 Servlet監(jiān)聽(tīng)器 217
11.1 Servlet事件監(jiān)聽(tīng)相關(guān)的API 217
11.1.1 ServletContext監(jiān)聽(tīng)API 217
11.1.2 HttpSession監(jiān)聽(tīng)API 218
11.1.3 ServletRequest監(jiān)聽(tīng)API 219
11.2 監(jiān)聽(tīng)器程序的開(kāi)發(fā) 219
11.2.1 監(jiān)聽(tīng)器的設(shè)計(jì)與配置 220
11.2.2 Servlet上下文監(jiān)聽(tīng)程序
實(shí)例 222
11.2.3 會(huì)話監(jiān)聽(tīng)程序?qū)嵗?223
11.2.4 請(qǐng)求監(jiān)聽(tīng)程序?qū)嵗?228
本章小結(jié) 231
思考題 231
第12章 Servlet過(guò)濾器 232
12.1 Servlet中與過(guò)濾器相關(guān)的API 232
12.1.1 Filter接口 232
12.1.2 FilterChain接口 233
12.1.3 FilterConfig接口 233
12.2 過(guò)濾器程序的開(kāi)發(fā) 234
12.2.1 過(guò)濾器的設(shè)計(jì)與配置 234
12.2.2 簡(jiǎn)單的過(guò)濾器實(shí)例 237
12.2.3 處理參數(shù)的過(guò)濾器實(shí)例 239
12.2.4 過(guò)濾器的簡(jiǎn)單應(yīng)用 241
本章小結(jié) 242
思考題 243
第13章 表達(dá)式語(yǔ)言 244
13.1 表達(dá)式語(yǔ)言的語(yǔ)法 244
13.1.1 EL保留字 244
13.1.2 EL字面量(Literals) 244
13.1.3 EL默認(rèn)值與自動(dòng)類(lèi)型
轉(zhuǎn)換 244
13.1.4 表達(dá)式語(yǔ)言中的設(shè)置 245
13.2 表達(dá)式語(yǔ)言中的普通運(yùn)算 246
13.3 表達(dá)式語(yǔ)言中的Java Bean 248
13.4 表達(dá)式語(yǔ)言中的隱式對(duì)象 249
13.5 EL函數(shù) 251
本章小結(jié) 253
思考題 253
第14章 自定義標(biāo)簽 254
14.1 自定義標(biāo)簽簡(jiǎn)介 254
14.1.1 自定義標(biāo)簽的優(yōu)點(diǎn) 254
14.1.2 自定義標(biāo)簽的特點(diǎn) 254
14.1.3 自定義標(biāo)簽的設(shè)計(jì)過(guò)程 254
14.1.4 taglib指令 254
14.1.5 自定義標(biāo)簽的類(lèi)型 255
14.1.6 自定義標(biāo)簽的接口與類(lèi) 255
14.2 經(jīng)典標(biāo)簽 255
14.2.1 Tag接口 256
14.2.2 tld文件 260
14.2.3 自定義標(biāo)簽的屬性 263
14.2.4 IterationTag接口 265
14.2.5 BodyTag接口 268
14.2.6 標(biāo)簽的嵌套 271
14.3 簡(jiǎn)單標(biāo)簽 272
14.4 標(biāo)簽文件 274
本章小結(jié) 281
思考題 281
第15章 標(biāo)準(zhǔn)標(biāo)簽庫(kù) 282
15.1 JSTL簡(jiǎn)介 282
15.1.1 JSTL的安裝配置 282
15.1.2 JSTL的優(yōu)點(diǎn) 282
15.1.3 JSTL標(biāo)簽庫(kù) 282
15.2 核心標(biāo)簽庫(kù) 283
15.2.1 c:out 283
15.2.2 c:set 285
15.2.3 c:if 288
15.2.4 c:choose、c:when、
c:otherwise 288
15.2.5 c:forEach 289
15.2.6 c:forToken 291
15.2.7 c:import 292
15.2.8 c:url 293
15.2.9 c:redirect 294
15.2.10 c:param 294
15.2.11 c:catch 295
15.3 SQL標(biāo)簽庫(kù) 295
15.3.1 sql:setDataSource 295
15.3.2 sql:query 296
15.3.3 sql:param 299
15.3.4 sql: update 301
15.4 國(guó)際化與標(biāo)準(zhǔn)化標(biāo)簽庫(kù) 302
15.4.1 <fmt:setLocale> 303
15.4.2 <fmt:bundle>、
<fmt:setBundle> 303
15.4.3 <fmt:message> 304
15.4.4 <fmt:param> 305
15.4.5 <fmt:requestEncoding> 306
15.4.6 <fmt:timeZone>、
<fmt:setTimeZone> 306
15.4.7 <fmt:formatNumber> 306
15.4.8 <fmt:parseNumber> 307
15.4.9 <fmt:formatDate> 308
15.4.10 <fmt:parseDate> 309
本章小結(jié) 312
思考題 312
第4篇 JSP常用組件
第16章 文件上傳和下載組件 313
16.1 jspSmartUpload API 313
16.1.1 File類(lèi) 313
16.1.2 Files類(lèi) 314
16.1.3 Request類(lèi) 315
16.1.4 SmartUpload類(lèi) 315
16.2 文件上傳 318
16.3 文件下載 322
本章小結(jié) 323
思考題 323
第17章 日志組件 324
17.1 Log4j 324
17.1.1 Log4j API 324
17.1.2 Log4j的配置 328
17.1.3 Log4j的使用 329
17.2 commons-logging 333
17.2.1 commons-logging API 333
17.2.2 commons-logging的使用 335
本章小結(jié) 335
思考題 336
附 錄
附錄A Tomcat版本簡(jiǎn)介 337
附錄B MySQL使用說(shuō)明 337
附錄C 實(shí)驗(yàn)指導(dǎo)書(shū) 337
附錄D 實(shí)驗(yàn)參考答案 337
參考文獻(xiàn) 338