本書是“十二五”普通高等教育本科國家級規(guī)劃教材,以JSP程序設計技術為主線介紹Web程序設計的方法與技術。全書共10章,包括:Web基礎知識和開發(fā)運行環(huán)境;HTML、XML和CSS;JavaScript程序設計;JSP基本語法與內置對象;Servlet與JavaBean;JSP數(shù)據(jù)庫應用;JSP實用組件;表達式語言與標簽;Java EE框架技術基礎;JSP綜合應用實例。每章配有大量實例、習題和上機實驗題及實驗指導,免費提供PPT教學課件和程序源代碼。本書可作為高校計算機科學與技術、軟件工程、網(wǎng)絡工程、電子商務、人工智能、數(shù)據(jù)科學與大數(shù)據(jù)技術、信息管理與信息系統(tǒng)、現(xiàn)代教育技術等相關專業(yè)的教材,也是Web程序開發(fā)人員實用的技術參考書。
吉根林,博士,南京師范大學教授,博士生導師。1982年考入南京航空航天大學計算機專業(yè)學習,1986年本科畢業(yè),獲工學學士學位;同年進入南京航空航天大學計算機應用技術專業(yè)攻讀碩士學位,1989年碩士畢業(yè),獲工學碩士學位。
目 錄
第1章 Web基礎知識與開發(fā)運行環(huán)境 1
1.1 Web工作原理 1
1.2 Internet網(wǎng)絡協(xié)議 3
1.2.1 TCP/IP協(xié)議族 4
1.2.2 HTTP 4
1.2.3 Telnet 5
1.2.4 FTP 5
1.3 IP地址、域名和URL 5
1.3.1 IP地址 5
1.3.2 域名 6
1.3.3 URL 6
1.4 動態(tài)網(wǎng)頁設計技術簡介 7
1.4.1 PHP 7
1.4.2 JSP 8
1.4.3 ASP.NET 9
1.5 Web應用程序開發(fā)工具與運行環(huán)境 9
1.5.1 網(wǎng)站架構 10
1.5.2 JDK的下載、安裝與配置 10
1.5.3 Tomcat的下載、安裝與配置 11
1.5.4 Eclipse的下載、安裝與配置 12
1.6 簡單的Web應用程序示例 12
1.7 網(wǎng)站安全問題 15
1.7.1 網(wǎng)站攻擊手段 15
1.7.2 網(wǎng)站的保護與安全措施 15
本章小結 17
習題1 18
第2章 HTML、XML和CSS 19
2.1 頁面設計概述 19
2.1.1 靜態(tài)網(wǎng)頁 19
2.1.2 動態(tài)網(wǎng)頁 19
2.1.3 網(wǎng)頁的設計風格 20
2.2 超文本標記語言HTML 20
2.2.1 HTML文檔結構 21
2.2.2 HTML基本標記 23
2.2.3 表格 27
2.2.4 表單 30
2.2.5 框架(Frame) 32
2.3 HTML5 35
2.3.1 HTML5新特性 35
2.3.2 HTML5新功能 35
2.3.3 HTML5網(wǎng)頁示例 39
2.4 層疊樣式表CSS 43
2.4.1 為什么需要層疊樣式表 43
2.4.2 樣式表的定義和引用 44
2.4.3 樣式的優(yōu)先級 49
2.4.4 CSS屬性 51
2.4.5 CSS+DIV頁面布局 58
2.5 XML簡介 59
2.5.1 XML概述 59
2.5.2 XML文檔結構 61
2.5.3 XML文檔顯示 63
2.6 應用示例:個人主頁設計 64
本章小結 67
習題2 67
上機實驗2 67
第3章 JavaScript程序設計 71
3.1 腳本語言概述 71
3.1.1 什么是腳本語言 71
3.1.2 JavaScript的特點 72
3.2 JavaScript基礎 73
3.2.1 JavaScript程序的編輯和調試 73
3.2.2 JavaScript基本語法 74
3.2.3 JavaScript函數(shù) 76
3.2.4 JavaScript流程控制 78
3.2.5 JavaScript出錯處理 80
3.2.6 JavaScript表單驗證 80
3.2.7 JavaScript正則表達式 81
3.3 JavaScript事件 82
3.3.1 JavaScript事件驅動機制 82
3.3.2 JavaScript常用事件 83
3.3.3 JavaScript事件觸發(fā)與處理 83
3.3.4 應用示例:計算器的設計 84
3.4 JavaScript對象 86
3.4.1 對象的定義和引用 86
3.4.2 for..in和with語句 87
3.4.3 JavaScript內置對象 89
3.5 瀏覽器對象模型及應用 98
3.5.1 瀏覽器對象模型 98
3.5.2 Navigator對象 99
3.5.3 Window對象 100
3.5.4 Document對象 103
3.5.5 Form對象 109
3.5.6 History和Location對象 114
3.5.7 Frame對象 114
3.5.8 應用示例:用戶注冊信息合法性檢查 116
3.5.9 應用示例:撲克牌游戲程序 120
3.6 HTML DOM 123
3.6.1 HTML DOM概述 123
3.6.2 DOM節(jié)點樹 124
3.6.3 DOM樹節(jié)點的屬性 124
3.6.4 訪問DOM節(jié)點 125
3.7 JavaScript框架和庫 127
本章小結 127
習題3 128
上機實驗3 128
第4章 JSP基本語法與內置對象 130
4.1 JSP基本語法 130
4.1.1 JSP頁面 131
4.1.2 JSP指令 130
4.1.3 JSP腳本標識 131
4.2 JSP內置對象 134
4.2.1 Request對象 135
4.2.2 Response對象 137
4.2.3 Session對象 139
4.2.4 Application對象 143
4.2.5 其他對象 145
4.3 JSP動作標識 149
4.3.1 include動作標識 149
4.3.2 forward動作標識 150
4.3.3 param動作標識 152
4.4 Cookie及其應用 153
4.5 應用示例:Web聊天程序 155
本章小結 159
習題4 159
上機實驗4 160
第5章 Servlet與JavaBean 162
5.1 Servlet簡介 162
5.2 Servlet的運行和配置 163
5.2.1 Servlet的生命周期 163
5.2.2 Servlet配置 165
5.3 Servlet API 167
5.3.1 Servlet接口 167
5.3.2 ServletConfig接口 168
5.3.3 GenericServlet類 168
5.3.4 HttpServlet類 169
5.4 Servlet編程 170
5.4.1 Servlet的基本結構 170
5.4.2 表單處理 171
5.4.3 Servlet編程示例 172
5.5 組件技術和JavaBean 174
5.5.1 JavaBean簡介 174
5.5.2 創(chuàng)建和部署JavaBean 176
5.6 JavaBean的屬性 177
5.7 在JSP中引用JavaBean 179
5.8 應用示例 182
本章小結 187
習題5 187
上機實驗5 188
第6章 JSP數(shù)據(jù)庫應用 189
6.1 Web數(shù)據(jù)庫訪問技術 189
6.2 數(shù)據(jù)庫語言SQL 191
6.2.1 SQL概述 191
6.2.2 主要SQL語句 191
6.3 JDBC API 193
6.3.1 驅動程序接口Driver 194
6.3.2 驅動程序管理器DriverManager 195
6.3.3 數(shù)據(jù)庫連接接口Connection 195
6.3.4 語句執(zhí)行接口Statement和PrepareStatement 196
6.3.5 結果集接口ResultSet 197
6.4 JDBC數(shù)據(jù)庫訪問 198
6.4.1 加載JDBC驅動程序 198
6.4.2 創(chuàng)建數(shù)據(jù)庫連接 199
6.4.3 執(zhí)行SQL語句訪問數(shù)據(jù)庫 200
6.4.4 數(shù)據(jù)庫訪問結果集的處理 202
6.4.5 數(shù)據(jù)庫操作中的事務處理 203
6.4.6 存儲過程的調用 204
6.5 JSP數(shù)據(jù)庫操作 206
6.6 SQL語句注入攻擊與防范 207
6.6.1 SQL注入攻擊 207
6.6.2 避免SQL注入攻擊 208
6.7 應用示例:課程信息查詢與修改 208
本章小結 214
習題6 215
上機實驗6 215
第7章 JSP實用組件 216
7.1 文件操作 216
7.1.1 創(chuàng)建上傳對象 216
7.1.2 解析上傳請求 217
7.1.3 FileItem接口 217
7.1.4 ServletFileUpload類 217
7.1.5 DiskFileItemFactory類 218
7.1.6 文件操作示例 219
7.2 JSP動態(tài)圖表 222
7.2.1 JFreeChart的下載和使用 223
7.2.2 JFreeChart的核心類 223
7.2.3 利用JFreeChart生成動態(tài)圖表 224
7.2.4 動態(tài)圖表應用示例 224
7.3 JSP報表 228
7.3.1 iText組件 229
7.3.2 應用iText組件生成報表 229
7.3.3 處理表格 231
7.3.4 處理圖像 235
7.4 Ajax技術 237
7.4.1 Ajax簡介 237
7.4.2 Ajax開發(fā)模式 238
7.4.3 Ajax應用示例 241
7.4.4 Ajax開發(fā)需要注意的問題 243
本章小結 245
習題7 245
上機實驗7 245
第8章 表達式語言和標簽 247
8.1 EL表達式 247
8.1.1 EL表達式的語法 247
8.1.2 EL表達式的運算符 247
8.1.3 EL表達式中的隱含對象 248
8.1.4 EL表達式中的保留字 249
8.2 JSTL核心標簽庫 249
8.2.1 表達式標簽 249
8.2.2 流程控制標簽 251
8.2.3 循環(huán)標簽 254
8.2.4 URL標簽 256
8.3 SQL標簽庫 258
8.4 自定義標簽庫 260
8.4.1 自定義標簽處理類 260
8.4.2 建立TLD文件 261
8.4.3 使用自定義標簽 262
8.4.4 自定義標簽使用范例 262
本章小結 264
習題8 265
上機實驗8 265
第9章 Java EE框架技術基礎 266
9.1 框架技術概述 266
9.1.1 MVC模型與設計模式 266
9.1.2 Struts2框架 267
9.1.3 Hibernate框架 268
9.1.4 Spring框架 268
9.2 Struts2框架 269
9.2.1 Struts2的下載和配置 270
9.2.2 Struts2基礎和struts.xml的基本配置 270
9.2.3 Action詳解 272
9.2.4 值棧和OGNL表達式 274
9.2.5 Struts2的標簽庫 275
9.2.6 攔截器 280
本章小結 283
習題9 283
上機實驗9 283
第10章 JSP綜合應用實例 284
10.1 留言板 284
10.1.1 設計目標 284
10.1.2 設計實體類 284
10.1.3 設計數(shù)據(jù)庫處理程序 285
10.1.4 設計留言處理程序 286
10.1.5 設計頁面 288
10.1.6 設計字符編碼過濾器 291
10.2 教務管理系統(tǒng) 293
10.2.1 系統(tǒng)功能 293
10.2.2 數(shù)據(jù)庫設計 294
10.2.3 設計實體類 295
10.2.4 文件組織架構 296
10.2.5 設計數(shù)據(jù)庫處理程序 297
10.2.6 設計Action類 299
10.2.7 設計視圖 310
10.2.8 設計樣式表 322
10.2.9 設計配置文件 323
本章小結 324
附錄A HTML常用標記和屬性 325
附錄B CSS樣式表屬性 329
附錄C JavaScript常用對象的屬性、方法、事件處理和函數(shù) 331
附錄D JSP內置對象 337
參考文獻 340