本書是“十二五”普通高等教育本科國家級規(guī)劃教材、江蘇“十四五”普通高等教育本科省級規(guī)劃教材。本書以JSP程序設計技術(shù)為主線來介紹Web程序設計的方法與技術(shù),使讀者學會建立網(wǎng)站,學會開發(fā)Web應用系統(tǒng)。全書共10章,包括Web基礎(chǔ)知識與開發(fā)運行環(huán)境;HTML、CSS與XML;JavaScript程序設計;JSP基本語法與內(nèi)置對象;Servlet與JavaBean;JSP數(shù)據(jù)庫應用;JSP實用組件;JavaScript框架與技術(shù);Java EE框架技術(shù);JSP綜合應用實例。全書配有大量例題,部分章節(jié)還安排了習題和上機實驗,并免費提供PPT教學課件。本書可作為高校計算機科學與技術(shù)、軟件工程、網(wǎng)絡工程、電子商務、人工智能、數(shù)據(jù)科學與大數(shù)據(jù)技術(shù)、信息管理與信息系統(tǒng)、現(xiàn)代教育技術(shù)等相關(guān)專業(yè)教材,也可作為Web程序開發(fā)人員實用的技術(shù)參考書。
吉根林,博士,教授,博士生導師,現(xiàn)任南京師范大學計算機與電子信息學院/人工智能學院教授委員會主任;教育部計算機課程教學指導委員會委員、教育部教育教學審核評估專家;江蘇省“青藍工程”中青年學術(shù)帶頭人;全國高等師范院校計算機教育研究會副理事長;中國計算機學會人工智能與模式識別專委會委員、計算機教育專委會委員,江蘇省計算機學會大數(shù)據(jù)專家委員會主任;江蘇省人工智能學會監(jiān)事長;承擔國家和省部級科研項目10多項;擔任《數(shù)據(jù)結(jié)構(gòu)》國家一流本科課程負責人;獲得江蘇省科學技術(shù)獎和江蘇省教學成果獎、江蘇省計算機杰出教育獎;發(fā)表學術(shù)論文150多篇,主編教材11部。2009-2022年任南京師范大學計算機學院/人工智能學院院長。
第1章 Web基礎(chǔ)知識與開發(fā)運行環(huán)境 1
1.1 Web工作原理 1
1.2 Internet網(wǎng)絡協(xié)議 3
1.2.1 TCP/IP協(xié)議 3
1.2.2 HTTP協(xié)議 4
1.3 網(wǎng)站架構(gòu)與后端開發(fā)技術(shù) 5
1.3.1 網(wǎng)站架構(gòu) 5
1.3.2 Web后端開發(fā)技術(shù) 5
1.4 網(wǎng)頁設計技術(shù)概述 6
1.4.1 靜態(tài)網(wǎng)頁 6
1.4.2 動態(tài)網(wǎng)頁 6
1.4.3 網(wǎng)頁的設計風格 9
1.5 Web應用程序開發(fā)工具與
運行環(huán)境 9
1.5.1 JDK的下載、安裝與配置 9
1.5.2 Tomcat的下載、安裝與
配置 10
1.5.3 Eclipse的下載、安裝與
配置 11
1.6 一個簡單的Web應用程序示例 11
1.6.1 創(chuàng)建第一個Web項目 12
1.6.2 目錄結(jié)構(gòu) 13
1.6.3 應用程序部署 13
1.7 網(wǎng)站安全問題 14
1.7.1 網(wǎng)站攻擊手段 14
1.7.2 網(wǎng)站的保護與安全措施 14
本章小結(jié) 16
習題1 17
第2章 HTML、CSS與XML 18
2.1 HTML 18
2.1.1 HTML簡介 18
2.1.2 HTML文檔結(jié)構(gòu) 19
2.1.3 HTML基本標記 21
2.1.4 表格 25
2.1.5 表單 28
2.1.6 框架(frame) 29
2.2 HTML5 32
2.2.1 HTML5新特性 32
2.2.2 HTML5新增標記和功能 32
2.2.3 HTML5頁面示例 37
2.3 CSS 39
2.3.1 為什么需要CSS 39
2.3.2 樣式表的定義和引用 40
2.3.3 樣式的優(yōu)先級 45
2.3.4 CSS基本屬性 47
2.3.5 CSS盒子模型 51
2.3.6 CSS頁面布局 52
2.3.7 CSS3新增選擇器和屬性 55
2.4 XML 58
2.4.1 XML概述 58
2.4.2 XML文檔結(jié)構(gòu) 59
2.4.3 XML文檔顯示 60
2.5 應用示例——個人主頁設計 61
本章小結(jié) 63
習題2 63
上機實驗 63
第3章 JavaScript程序設計 66
3.1 JavaScript語言基礎(chǔ) 66
3.1.1 JavaScript語言概述 66
3.1.2 JavaScript程序的編輯和
調(diào)試 67
3.1.3 JavaScript基本語法 67
3.1.4 JavaScript函數(shù) 70
3.1.5 JavaScript流程控制 72
3.1.6 JavaScript錯誤處理 73
3.1.7 JavaScript表單驗證 74
3.1.8 JavaScript正則表達式 74
3.2 JavaScript事件處理 76
3.2.1 JavaScript事件驅(qū)動機制 76
3.2.2 JavaScript常用事件 76
3.2.3 JavaScript事件觸發(fā)與
處理 76
3.2.4 應用示例——簡易計算器
設計 77
3.3 JavaScript對象 79
3.3.1 對象的定義和引用 79
3.3.2 for…in和with語句 80
3.3.3 JavaScript內(nèi)置對象 82
3.4 BOM及其應用 89
3.4.1 BOM 89
3.4.2 window對象 90
3.4.3 navigator對象 93
3.4.4 document對象 94
3.4.5 form對象 97
3.4.6 history對象和
location對象 102
3.5 DOM及其應用 102
3.5.1 DOM概述 102
3.5.2 DOM樹形結(jié)構(gòu) 103
3.5.3 DOM節(jié)點的類型 104
3.5.4 DOM節(jié)點的屬性 104
3.5.5 訪問DOM樹節(jié)點 106
3.6 應用示例 108
3.6.1 用戶注冊信息檢驗 108
3.6.2 撲克牌游戲 111
本章小結(jié) 114
習題3 115
上機實驗 115
第4章 JSP基本語法與內(nèi)置對象 117
4.1 JSP基本語法 117
4.1.1 JSP頁面 117
4.1.2 JSP指令 117
4.1.3 JSP腳本標識 118
4.2 JSP內(nèi)置對象 121
4.2.1 request對象 122
4.2.2 response對象 124
4.2.3 session對象 126
4.2.4 application對象 130
4.2.5 其他對象 132
4.3 JSP動作標識 136
4.3.1 include動作標識 136
4.3.2 forward動作標識 137
4.3.3 param動作標識 138
4.4 Cookie及其應用 139
4.4.1 Cookie的概念 139
4.4.2 JSP操作Cookie 140
4.5 應用示例——Web聊天程序 142
本章小結(jié) 146
習題4 146
上機實驗 146
第5章 Servlet與JavaBean 149
5.1 Servlet簡介 149
5.2 Servlet的生命周期和配置 150
5.2.1 Servlet的生命周期 150
5.2.2 Servlet的配置 152
5.3 Servlet API 154
5.3.1 Servlet接口 154
5.3.2 ServletConfig接口 155
5.3.3 GenericServlet類 155
5.3.4 HttpServlet類 156
5.4 Servlet編程 157
5.4.1 Servlet的基本結(jié)構(gòu) 157
5.4.2 表單處理 158
5.4.3 Servlet編程示例 159
5.5 組件技術(shù)和JavaBean 161
5.5.1 JavaBean簡介 161
5.5.2 創(chuàng)建和部署JavaBean 162
5.6 JavaBean的屬性 163
5.7 在JSP中引用JavaBean 165
5.8 應用示例 168
本章小結(jié) 173
習題5 174
上機實驗 174
第6章 JSP數(shù)據(jù)庫應用 175
6.1 Web數(shù)據(jù)庫訪問技術(shù) 175
6.2 數(shù)據(jù)庫語言SQL 177
6.2.1 SQL概述 177
6.2.2 主要SQL語句 177
6.3 JDBC API 179
6.3.1 驅(qū)動程序接口Driver 180
6.3.2 驅(qū)動程序管理器DriverManager 180
6.3.3 數(shù)據(jù)庫連接接口Connection 181
6.3.4 語句執(zhí)行接口Statement和PreparedStatement 182
6.3.5 結(jié)果集接口ResultSet 183
6.4 JDBC數(shù)據(jù)庫訪問 184
6.4.1 加載JDBC驅(qū)動程序 184
6.4.2 創(chuàng)建數(shù)據(jù)庫連接 185
6.4.3 執(zhí)行SQL語句訪問
數(shù)據(jù)庫 186
6.4.4 數(shù)據(jù)庫訪問結(jié)果集的
處理 188
6.4.5 數(shù)據(jù)庫操作中的事務
處理 188
6.4.6 存儲過程的調(diào)用 190
6.5 JSP數(shù)據(jù)庫操作 191
6.6 SQL語句注入式攻擊與防范 192
6.6.1 SQL注入式攻擊 193
6.6.2 避免SQL注入式攻擊 194
6.7 應用示例——課程信息查詢與
修改 194
本章小結(jié) 200
習題6 200
上機實驗 201
第7章 JSP實用組件 202
7.1 文件操作 202
7.1.1 創(chuàng)建上傳對象 202
7.1.2 解析上傳請求 202
7.1.3 FileItem接口 202
7.1.4 ServletFileUpload類 203
7.1.5 DiskFileItemFactory類 204
7.1.6 文件操作示例 204
7.2 HTML解析器 208
7.2.1 Jsoup組件簡介 208
7.2.2 Jsoup組件的主要功能 208
7.2.3 使用Jsoup組件解析
HTML示例 209
7.3 JSP報表 210
7.3.1 iText組件 210
7.3.2 應用iText組件生成
PDF文檔 210
7.3.3 處理表格 212
7.3.4 處理圖像 216
本章小結(jié) 218
習題7 218
上機實驗 218
第8章 JavaScript框架與技術(shù) 220
8.1 JavaScript框架和庫概述 220
8.1.1 基本概念 220
8.1.2 MVVM設計模式 220
8.1.3 jQuery 221
8.1.4 React 222
8.1.5 Angular 222
8.1.6 Vue 222
8.2 Vue框架及應用 222
8.2.1 組件化 223
8.2.2 MVVM數(shù)據(jù)雙向綁定 223
8.2.3 響應式虛擬DOM 223
8.2.4 生命周期 223
8.2.5 Vue基本文件結(jié)構(gòu) 225
8.2.6 一個Vue示例 225
8.3 AJAX技術(shù) 229
8.3.1 AJAX簡介 229
8.3.2 AJAX開發(fā)模式 230
8.3.3 一個AJAX示例 233
8.4 Web數(shù)據(jù)可視化 236
8.4.1 ECharts簡介 236
8.4.2 ECharts開發(fā)環(huán)境搭建 237
8.4.3 ECharts常用組件 239
8.4.4 動態(tài)圖表應用示例 240
本章小結(jié) 242
習題8 242
上機實驗 243
第9章 Java EE框架技術(shù) 244
9.1 Java EE框架技術(shù)概述 244
9.1.1 MVC模型與設計模式 244
9.1.2 Spring框架簡介 245
9.1.3 Spring MVC框架簡介 246
9.1.4 MyBatis框架簡介 248
9.2 Spring MVC框架 250
9.2.1 Spring MVC的下載 250
9.2.2 Spring MVC接口 250
9.2.3 Spring MVC注解 251
9.2.4 請求處理方法的
參數(shù)類型 260
9.2.5 請求處理方法的
返回類型 261
9.2.6 Spring MVC注解
開發(fā)實例 263
本章小結(jié) 268
習題9 269
上機實驗 269
第10章 JSP綜合應用實例 270
10.1 留言板 270
10.1.1 設計目標 270
10.1.2 設計實體類 270
10.1.3 設計數(shù)據(jù)庫處理程序 271
10.1.4 設計留言處理程序 272
10.1.5 設計頁面 274
10.1.6 設計字符編碼過濾器 277
10.2 教務管理系統(tǒng) 278
10.2.1 系統(tǒng)功能 279
10.2.2 數(shù)據(jù)庫設計 279
10.2.3 設計實體類 281
10.2.4 文件組織架構(gòu) 282
10.2.5 設計數(shù)據(jù)庫處理程序 283
10.2.6 設計action類 284
10.2.7 設計視圖 295
10.2.8 設計樣式表 307
10.2.9 設計配置文件 308
本章小結(jié) 309
附錄A HTML語言常用標記和屬性 310
附錄B CSS樣式表屬性 315
附錄C JavaScript常用對象的屬性、
方法、事件處理和函數(shù) 318
附錄D JSP內(nèi)置對象 325
參考文獻