JSP是Java EE的核心技術(shù)之一,它是一種與平臺(tái)無關(guān)、基于Java Servlet技術(shù)及整個(gè)Java體系的Web開發(fā)技術(shù),它秉承了Java語言的優(yōu)勢(shì),開發(fā)周期短、代碼執(zhí)行效率高、可擴(kuò)展性和可移植性強(qiáng)、技術(shù)規(guī)范公開,因此成為了開發(fā)Web應(yīng)用程序(動(dòng)態(tài)網(wǎng)站)的主要技術(shù)之一。本書系統(tǒng)地介紹了Tomcat服務(wù)器的使用、JSP的基本語法、JSP的內(nèi)置對(duì)象、Servlet技術(shù)、Java Bean的使用、JDBC數(shù)據(jù)庫應(yīng)用開發(fā)等JSP基本技術(shù);還介紹了Servlet事件監(jiān)聽器、過濾器、表達(dá)式語言、自定義標(biāo)簽、標(biāo)準(zhǔn)標(biāo)簽庫(JSTL)等JSP高級(jí)技術(shù);使用JSP解決Web應(yīng)用程序開發(fā)中的常見問題,包括:頁面間數(shù)據(jù)的傳遞、JSP中文問題、國際化、日志組件、文件上傳組件、安全設(shè)置等。本書力求深入淺出,例程精練典型,是系統(tǒng)學(xué)習(xí)JSP技術(shù)的教材和參考手冊(cè)。本書沒有介紹JSP Web程序模式二(MVC)開發(fā)技術(shù),即各種JSP開發(fā)框架,但為進(jìn)一步學(xué)習(xí)這些技術(shù)打下了必要的基礎(chǔ)。本書內(nèi)容豐富、突出應(yīng)用、例程詳盡,對(duì)JSP中的疑難點(diǎn)進(jìn)行了辨析。本書可作為高等學(xué)校本、?频慕滩募案黝惻嘤(xùn)班的教材,也可供從事計(jì)算機(jī)應(yīng)用和開發(fā)的各類人員學(xué)習(xí)參考。
楊占勝,臨沂大學(xué)信息學(xué)院教師。省級(jí)精品課程網(wǎng)絡(luò)軟件開發(fā)課程群-Java Web應(yīng)用程序課程負(fù)責(zé)人。主要教授:軟件開發(fā)基礎(chǔ)、Java Web應(yīng)用程序開發(fā)、專業(yè)英語等。
第1篇 JSP基本技術(shù)
第1章 JSP運(yùn)行環(huán)境 1
1.1 動(dòng)態(tài)網(wǎng)頁技術(shù) 1
1.1.1 Web發(fā)展的三個(gè)階段 1
1.1.2 Web應(yīng)用程序開發(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)頁的處理過程 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基本語法 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ān) 62
4.2.8 Servlet異常相關(guān) 62
4.3 Servlet設(shè)計(jì)與配置 63
4.3.1 Servlet的開發(fā)流程 63
4.3.2 JSP的配置路徑 69
4.3.3 Servlet的注解配置 70
4.4 JSP Web應(yīng)用程序的開發(fā)模式 72
本章小結(jié) 73
思考題 74
第5章 Java Bean 75
5.1 Java Bean簡介 75
5.1.1 Java Bean的特性 75
5.1.2 Java Bean的屬性 75
5.1.3 Java Bean的編寫 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類 85
6.2.3 Connection接口 86
6.2.4 Statement接口 86
6.2.5 ResultSet接口 87
6.3 JDBC訪問數(shù)據(jù)庫 88
6.3.1 使用JDBC-ODBC橋訪問
數(shù)據(jù)庫 90
6.3.2 使用All-Java JDBC Driver
訪問數(shù)據(jù)庫 98
6.3.3 通過Java Bean訪問數(shù)據(jù)庫 107
6.3.4 JDBC的其他操作 125
6.4 數(shù)據(jù)分頁顯示 131
6.5 數(shù)據(jù)庫連接池 143
6.6 JSP數(shù)據(jù)庫開發(fā)實(shí)例 145
本章小結(jié) 159
思考題 160
第7章 Eclipse 161
7.1 Eclipse開發(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開發(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)用開發(fā)專題
第8章 頁面之間數(shù)據(jù)的傳遞 187
8.1 同一個(gè)會(huì)話頁面間數(shù)據(jù)的傳遞 187
8.2 不同會(huì)話頁面間數(shù)據(jù)的傳遞 192
本章小結(jié) 193
思考題 193
第9章 JSP中文問題 194
9.1 字符編碼 194
9.2 Java語言中的編碼 196
9.2.1 Java程序處理中的編碼轉(zhuǎn)換 196
9.2.2 JSP程序處理過程中的
編碼轉(zhuǎn)換 197
9.2.3 JSP中文處理 199
9.2.4 數(shù)據(jù)庫中文問題 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)聽器 217
11.1 Servlet事件監(jiān)聽相關(guān)的API 217
11.1.1 ServletContext監(jiān)聽API 217
11.1.2 HttpSession監(jiān)聽API 218
11.1.3 ServletRequest監(jiān)聽API 219
11.2 監(jiān)聽器程序的開發(fā) 219
11.2.1 監(jiān)聽器的設(shè)計(jì)與配置 220
11.2.2 Servlet上下文監(jiān)聽程序
實(shí)例 222
11.2.3 會(huì)話監(jiān)聽程序?qū)嵗?223
11.2.4 請(qǐng)求監(jiān)聽程序?qū)嵗?228
本章小結(jié) 231
思考題 231
第12章 Servlet過濾器 232
12.1 Servlet中與過濾器相關(guān)的API 232
12.1.1 Filter接口 232
12.1.2 FilterChain接口 233
12.1.3 FilterConfig接口 233
12.2 過濾器程序的開發(fā) 234
12.2.1 過濾器的設(shè)計(jì)與配置 234
12.2.2 簡單的過濾器實(shí)例 237
12.2.3 處理參數(shù)的過濾器實(shí)例 239
12.2.4 過濾器的簡單應(yīng)用 241
本章小結(jié) 242
思考題 243
第13章 表達(dá)式語言 244
13.1 表達(dá)式語言的語法 244
13.1.1 EL保留字 244
13.1.2 EL字面量(Literals) 244
13.1.3 EL默認(rèn)值與自動(dòng)類型
轉(zhuǎn)換 244
13.1.4 表達(dá)式語言中的設(shè)置 245
13.2 表達(dá)式語言中的普通運(yùn)算 246
13.3 表達(dá)式語言中的Java Bean 248
13.4 表達(dá)式語言中的隱式對(duì)象 249
13.5 EL函數(shù) 251
本章小結(jié) 253
思考題 253
第14章 自定義標(biāo)簽 254
14.1 自定義標(biāo)簽簡介 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ì)過程 254
14.1.4 taglib指令 254
14.1.5 自定義標(biāo)簽的類型 255
14.1.6 自定義標(biāo)簽的接口與類 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 簡單標(biāo)簽 272
14.4 標(biāo)簽文件 274
本章小結(jié) 281
思考題 281
第15章 標(biāo)準(zhǔn)標(biāo)簽庫 282
15.1 JSTL簡介 282
15.1.1 JSTL的安裝配置 282
15.1.2 JSTL的優(yōu)點(diǎn) 282
15.1.3 JSTL標(biāo)簽庫 282
15.2 核心標(biāo)簽庫 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)簽庫 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 國際化與標(biāo)準(zhǔn)化標(biāo)簽庫 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類 313
16.1.2 Files類 314
16.1.3 Request類 315
16.1.4 SmartUpload類 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版本簡介 337
附錄B MySQL使用說明 337
附錄C 實(shí)驗(yàn)指導(dǎo)書 337
附錄D 實(shí)驗(yàn)參考答案 337
參考文獻(xiàn) 338