本書是“十二五”普通高等教育本科國家級(jí)規(guī)劃教材、江蘇“十四五”普通高等教育本科省級(jí)規(guī)劃教材。本書以JSP程序設(shè)計(jì)技術(shù)為主線來介紹Web程序設(shè)計(jì)的方法與技術(shù),使讀者學(xué)會(huì)建立網(wǎng)站,學(xué)會(huì)開發(fā)Web應(yīng)用系統(tǒng)。全書共10章,包括Web基礎(chǔ)知識(shí)與開發(fā)運(yùn)行環(huán)境;HTML、CSS與XML;JavaScript程序設(shè)計(jì);JSP基本語法與內(nèi)置對(duì)象;Servlet與JavaBean;JSP數(shù)據(jù)庫應(yīng)用;JSP實(shí)用組件;JavaScript框架與技術(shù);Java EE框架技術(shù);JSP綜合應(yīng)用實(shí)例。全書配有大量例題,部分章節(jié)還安排了習(xí)題和上機(jī)實(shí)驗(yàn),并免費(fèi)提供PPT教學(xué)課件。本書可作為高校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程、電子商務(wù)、人工智能、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、信息管理與信息系統(tǒng)、現(xiàn)代教育技術(shù)等相關(guān)專業(yè)教材,也可作為Web程序開發(fā)人員實(shí)用的技術(shù)參考書。
吉根林,博士,教授,博士生導(dǎo)師,現(xiàn)任南京師范大學(xué)計(jì)算機(jī)與電子信息學(xué)院/人工智能學(xué)院教授委員會(huì)主任;教育部計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員、教育部教育教學(xué)審核評(píng)估專家;江蘇省“青藍(lán)工程”中青年學(xué)術(shù)帶頭人;全國高等師范院校計(jì)算機(jī)教育研究會(huì)副理事長;中國計(jì)算機(jī)學(xué)會(huì)人工智能與模式識(shí)別專委會(huì)委員、計(jì)算機(jī)教育專委會(huì)委員,江蘇省計(jì)算機(jī)學(xué)會(huì)大數(shù)據(jù)專家委員會(huì)主任;江蘇省人工智能學(xué)會(huì)監(jiān)事長;承擔(dān)國家和省部級(jí)科研項(xiàng)目10多項(xiàng);擔(dān)任《數(shù)據(jù)結(jié)構(gòu)》國家一流本科課程負(fù)責(zé)人;獲得江蘇省科學(xué)技術(shù)獎(jiǎng)和江蘇省教學(xué)成果獎(jiǎng)、江蘇省計(jì)算機(jī)杰出教育獎(jiǎng);發(fā)表學(xué)術(shù)論文150多篇,主編教材11部。2009-2022年任南京師范大學(xué)計(jì)算機(jī)學(xué)院/人工智能學(xué)院院長。
第1章 Web基礎(chǔ)知識(shí)與開發(fā)運(yùn)行環(huán)境 1
1.1 Web工作原理 1
1.2 Internet網(wǎng)絡(luò)協(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è)計(jì)技術(shù)概述 6
1.4.1 靜態(tài)網(wǎng)頁 6
1.4.2 動(dòng)態(tài)網(wǎng)頁 6
1.4.3 網(wǎng)頁的設(shè)計(jì)風(fēng)格 9
1.5 Web應(yīng)用程序開發(fā)工具與
運(yùn)行環(huán)境 9
1.5.1 JDK的下載、安裝與配置 9
1.5.2 Tomcat的下載、安裝與
配置 10
1.5.3 Eclipse的下載、安裝與
配置 11
1.6 一個(gè)簡單的Web應(yīng)用程序示例 11
1.6.1 創(chuàng)建第一個(gè)Web項(xiàng)目 12
1.6.2 目錄結(jié)構(gòu) 13
1.6.3 應(yīng)用程序部署 13
1.7 網(wǎng)站安全問題 14
1.7.1 網(wǎng)站攻擊手段 14
1.7.2 網(wǎng)站的保護(hù)與安全措施 14
本章小結(jié) 16
習(xí)題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基本標(biāo)記 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新增標(biāo)記和功能 32
2.2.3 HTML5頁面示例 37
2.3 CSS 39
2.3.1 為什么需要CSS 39
2.3.2 樣式表的定義和引用 40
2.3.3 樣式的優(yōu)先級(jí) 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 應(yīng)用示例——個(gè)人主頁設(shè)計(jì) 61
本章小結(jié) 63
習(xí)題2 63
上機(jī)實(shí)驗(yàn) 63
第3章 JavaScript程序設(shè)計(jì) 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錯(cuò)誤處理 73
3.1.7 JavaScript表單驗(yàn)證 74
3.1.8 JavaScript正則表達(dá)式 74
3.2 JavaScript事件處理 76
3.2.1 JavaScript事件驅(qū)動(dòng)機(jī)制 76
3.2.2 JavaScript常用事件 76
3.2.3 JavaScript事件觸發(fā)與
處理 76
3.2.4 應(yīng)用示例——簡易計(jì)算器
設(shè)計(jì) 77
3.3 JavaScript對(duì)象 79
3.3.1 對(duì)象的定義和引用 79
3.3.2 for…in和with語句 80
3.3.3 JavaScript內(nèi)置對(duì)象 82
3.4 BOM及其應(yīng)用 89
3.4.1 BOM 89
3.4.2 window對(duì)象 90
3.4.3 navigator對(duì)象 93
3.4.4 document對(duì)象 94
3.4.5 form對(duì)象 97
3.4.6 history對(duì)象和
location對(duì)象 102
3.5 DOM及其應(yīng)用 102
3.5.1 DOM概述 102
3.5.2 DOM樹形結(jié)構(gòu) 103
3.5.3 DOM節(jié)點(diǎn)的類型 104
3.5.4 DOM節(jié)點(diǎn)的屬性 104
3.5.5 訪問DOM樹節(jié)點(diǎn) 106
3.6 應(yīng)用示例 108
3.6.1 用戶注冊(cè)信息檢驗(yàn) 108
3.6.2 撲克牌游戲 111
本章小結(jié) 114
習(xí)題3 115
上機(jī)實(shí)驗(yàn) 115
第4章 JSP基本語法與內(nèi)置對(duì)象 117
4.1 JSP基本語法 117
4.1.1 JSP頁面 117
4.1.2 JSP指令 117
4.1.3 JSP腳本標(biāo)識(shí) 118
4.2 JSP內(nèi)置對(duì)象 121
4.2.1 request對(duì)象 122
4.2.2 response對(duì)象 124
4.2.3 session對(duì)象 126
4.2.4 application對(duì)象 130
4.2.5 其他對(duì)象 132
4.3 JSP動(dòng)作標(biāo)識(shí) 136
4.3.1 include動(dòng)作標(biāo)識(shí) 136
4.3.2 forward動(dòng)作標(biāo)識(shí) 137
4.3.3 param動(dòng)作標(biāo)識(shí) 138
4.4 Cookie及其應(yīng)用 139
4.4.1 Cookie的概念 139
4.4.2 JSP操作Cookie 140
4.5 應(yīng)用示例——Web聊天程序 142
本章小結(jié) 146
習(xí)題4 146
上機(jī)實(shí)驗(yàn) 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 應(yīng)用示例 168
本章小結(jié) 173
習(xí)題5 174
上機(jī)實(shí)驗(yàn) 174
第6章 JSP數(shù)據(jù)庫應(yīng)用 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ū)動(dòng)程序接口Driver 180
6.3.2 驅(qū)動(dòng)程序管理器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ū)動(dòng)程序 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ù)庫操作中的事務(wù)
處理 188
6.4.6 存儲(chǔ)過程的調(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 應(yīng)用示例——課程信息查詢與
修改 194
本章小結(jié) 200
習(xí)題6 200
上機(jī)實(shí)驗(yàn) 201
第7章 JSP實(shí)用組件 202
7.1 文件操作 202
7.1.1 創(chuàng)建上傳對(duì)象 202
7.1.2 解析上傳請(qǐng)求 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報(bào)表 210
7.3.1 iText組件 210
7.3.2 應(yīng)用iText組件生成
PDF文檔 210
7.3.3 處理表格 212
7.3.4 處理圖像 216
本章小結(jié) 218
習(xí)題7 218
上機(jī)實(shí)驗(yàn) 218
第8章 JavaScript框架與技術(shù) 220
8.1 JavaScript框架和庫概述 220
8.1.1 基本概念 220
8.1.2 MVVM設(shè)計(jì)模式 220
8.1.3 jQuery 221
8.1.4 React 222
8.1.5 Angular 222
8.1.6 Vue 222
8.2 Vue框架及應(yīng)用 222
8.2.1 組件化 223
8.2.2 MVVM數(shù)據(jù)雙向綁定 223
8.2.3 響應(yīng)式虛擬DOM 223
8.2.4 生命周期 223
8.2.5 Vue基本文件結(jié)構(gòu) 225
8.2.6 一個(gè)Vue示例 225
8.3 AJAX技術(shù) 229
8.3.1 AJAX簡介 229
8.3.2 AJAX開發(fā)模式 230
8.3.3 一個(gè)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 動(dòng)態(tài)圖表應(yīng)用示例 240
本章小結(jié) 242
習(xí)題8 242
上機(jī)實(shí)驗(yàn) 243
第9章 Java EE框架技術(shù) 244
9.1 Java EE框架技術(shù)概述 244
9.1.1 MVC模型與設(shè)計(jì)模式 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 請(qǐng)求處理方法的
參數(shù)類型 260
9.2.5 請(qǐng)求處理方法的
返回類型 261
9.2.6 Spring MVC注解
開發(fā)實(shí)例 263
本章小結(jié) 268
習(xí)題9 269
上機(jī)實(shí)驗(yàn) 269
第10章 JSP綜合應(yīng)用實(shí)例 270
10.1 留言板 270
10.1.1 設(shè)計(jì)目標(biāo) 270
10.1.2 設(shè)計(jì)實(shí)體類 270
10.1.3 設(shè)計(jì)數(shù)據(jù)庫處理程序 271
10.1.4 設(shè)計(jì)留言處理程序 272
10.1.5 設(shè)計(jì)頁面 274
10.1.6 設(shè)計(jì)字符編碼過濾器 277
10.2 教務(wù)管理系統(tǒng) 278
10.2.1 系統(tǒng)功能 279
10.2.2 數(shù)據(jù)庫設(shè)計(jì) 279
10.2.3 設(shè)計(jì)實(shí)體類 281
10.2.4 文件組織架構(gòu) 282
10.2.5 設(shè)計(jì)數(shù)據(jù)庫處理程序 283
10.2.6 設(shè)計(jì)action類 284
10.2.7 設(shè)計(jì)視圖 295
10.2.8 設(shè)計(jì)樣式表 307
10.2.9 設(shè)計(jì)配置文件 308
本章小結(jié) 309
附錄A HTML語言常用標(biāo)記和屬性 310
附錄B CSS樣式表屬性 315
附錄C JavaScript常用對(duì)象的屬性、
方法、事件處理和函數(shù) 318
附錄D JSP內(nèi)置對(duì)象 325
參考文獻(xiàn)