本書(shū)是“十二五”普通高等教育本科國(guó)家級(jí)規(guī)劃教材、江蘇“十四五”普通高等教育本科省級(jí)規(guī)劃教材。本書(shū)以JSP程序設(shè)計(jì)技術(shù)為主線來(lái)介紹Web程序設(shè)計(jì)的方法與技術(shù),使讀者學(xué)會(huì)建立網(wǎng)站,學(xué)會(huì)開(kāi)發(fā)Web應(yīng)用系統(tǒng)。全書(shū)共10章,包括Web基礎(chǔ)知識(shí)與開(kāi)發(fā)運(yùn)行環(huán)境;HTML、CSS與XML;JavaScript程序設(shè)計(jì);JSP基本語(yǔ)法與內(nèi)置對(duì)象;Servlet與JavaBean;JSP數(shù)據(jù)庫(kù)應(yīng)用;JSP實(shí)用組件;JavaScript框架與技術(shù);Java EE框架技術(shù);JSP綜合應(yīng)用實(shí)例。全書(shū)配有大量例題,部分章節(jié)還安排了習(xí)題和上機(jī)實(shí)驗(yàn),并免費(fèi)提供PPT教學(xué)課件。本書(shū)可作為高校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程、電子商務(wù)、人工智能、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、信息管理與信息系統(tǒng)、現(xiàn)代教育技術(shù)等相關(guān)專(zhuān)業(yè)教材,也可作為Web程序開(kāi)發(fā)人員實(shí)用的技術(shù)參考書(shū)。
吉根林,博士,教授,博士生導(dǎo)師,現(xiàn)任南京師范大學(xué)計(jì)算機(jī)與電子信息學(xué)院/人工智能學(xué)院教授委員會(huì)主任;教育部計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員、教育部教育教學(xué)審核評(píng)估專(zhuān)家;江蘇省“青藍(lán)工程”中青年學(xué)術(shù)帶頭人;全國(guó)高等師范院校計(jì)算機(jī)教育研究會(huì)副理事長(zhǎng);中國(guó)計(jì)算機(jī)學(xué)會(huì)人工智能與模式識(shí)別專(zhuān)委會(huì)委員、計(jì)算機(jī)教育專(zhuān)委會(huì)委員,江蘇省計(jì)算機(jī)學(xué)會(huì)大數(shù)據(jù)專(zhuān)家委員會(huì)主任;江蘇省人工智能學(xué)會(huì)監(jiān)事長(zhǎng);承擔(dān)國(guó)家和省部級(jí)科研項(xiàng)目10多項(xiàng);擔(dān)任《數(shù)據(jù)結(jié)構(gòu)》國(guó)家一流本科課程負(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é)院院長(zhǎng)。
第1章 Web基礎(chǔ)知識(shí)與開(kāi)發(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)與后端開(kāi)發(fā)技術(shù) 5
1.3.1 網(wǎng)站架構(gòu) 5
1.3.2 Web后端開(kāi)發(fā)技術(shù) 5
1.4 網(wǎng)頁(yè)設(shè)計(jì)技術(shù)概述 6
1.4.1 靜態(tài)網(wǎng)頁(yè) 6
1.4.2 動(dòng)態(tài)網(wǎng)頁(yè) 6
1.4.3 網(wǎng)頁(yè)的設(shè)計(jì)風(fēng)格 9
1.5 Web應(yīng)用程序開(kāi)發(fā)工具與
運(yùn)行環(huán)境 9
1.5.1 JDK的下載、安裝與配置 9
1.5.2 Tomcat的下載、安裝與
配置 10
1.5.3 Eclipse的下載、安裝與
配置 11
1.6 一個(gè)簡(jiǎn)單的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)站安全問(wèn)題 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簡(jiǎn)介 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頁(yè)面示例 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頁(yè)面布局 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è)人主頁(yè)設(shè)計(jì) 61
本章小結(jié) 63
習(xí)題2 63
上機(jī)實(shí)驗(yàn) 63
第3章 JavaScript程序設(shè)計(jì) 66
3.1 JavaScript語(yǔ)言基礎(chǔ) 66
3.1.1 JavaScript語(yǔ)言概述 66
3.1.2 JavaScript程序的編輯和
調(diào)試 67
3.1.3 JavaScript基本語(yǔ)法 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)用示例——簡(jiǎn)易計(jì)算器
設(shè)計(jì) 77
3.3 JavaScript對(duì)象 79
3.3.1 對(duì)象的定義和引用 79
3.3.2 for…in和with語(yǔ)句 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樹(shù)形結(jié)構(gòu) 103
3.5.3 DOM節(jié)點(diǎn)的類(lèi)型 104
3.5.4 DOM節(jié)點(diǎn)的屬性 104
3.5.5 訪問(wèn)DOM樹(shù)節(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基本語(yǔ)法與內(nèi)置對(duì)象 117
4.1 JSP基本語(yǔ)法 117
4.1.1 JSP頁(yè)面 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簡(jiǎn)介 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類(lèi) 155
5.3.4 HttpServlet類(lèi) 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簡(jiǎn)介 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ù)庫(kù)應(yīng)用 175
6.1 Web數(shù)據(jù)庫(kù)訪問(wèn)技術(shù) 175
6.2 數(shù)據(jù)庫(kù)語(yǔ)言SQL 177
6.2.1 SQL概述 177
6.2.2 主要SQL語(yǔ)句 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ù)庫(kù)連接接口Connection 181
6.3.4 語(yǔ)句執(zhí)行接口Statement和PreparedStatement 182
6.3.5 結(jié)果集接口ResultSet 183
6.4 JDBC數(shù)據(jù)庫(kù)訪問(wèn) 184
6.4.1 加載JDBC驅(qū)動(dòng)程序 184
6.4.2 創(chuàng)建數(shù)據(jù)庫(kù)連接 185
6.4.3 執(zhí)行SQL語(yǔ)句訪問(wèn)
數(shù)據(jù)庫(kù) 186
6.4.4 數(shù)據(jù)庫(kù)訪問(wèn)結(jié)果集的
處理 188
6.4.5 數(shù)據(jù)庫(kù)操作中的事務(wù)
處理 188
6.4.6 存儲(chǔ)過(guò)程的調(diào)用 190
6.5 JSP數(shù)據(jù)庫(kù)操作 191
6.6 SQL語(yǔ)句注入式攻擊與防范 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類(lèi) 203
7.1.5 DiskFileItemFactory類(lèi) 204
7.1.6 文件操作示例 204
7.2 HTML解析器 208
7.2.1 Jsoup組件簡(jiǎn)介 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框架和庫(kù)概述 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簡(jiǎn)介 229
8.3.2 AJAX開(kāi)發(fā)模式 230
8.3.3 一個(gè)AJAX示例 233
8.4 Web數(shù)據(jù)可視化 236
8.4.1 ECharts簡(jiǎn)介 236
8.4.2 ECharts開(kāi)發(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框架簡(jiǎn)介 245
9.1.3 Spring MVC框架簡(jiǎn)介 246
9.1.4 MyBatis框架簡(jiǎn)介 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ù)類(lèi)型 260
9.2.5 請(qǐng)求處理方法的
返回類(lèi)型 261
9.2.6 Spring MVC注解
開(kāi)發(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í)體類(lèi) 270
10.1.3 設(shè)計(jì)數(shù)據(jù)庫(kù)處理程序 271
10.1.4 設(shè)計(jì)留言處理程序 272
10.1.5 設(shè)計(jì)頁(yè)面 274
10.1.6 設(shè)計(jì)字符編碼過(guò)濾器 277
10.2 教務(wù)管理系統(tǒng) 278
10.2.1 系統(tǒng)功能 279
10.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 279
10.2.3 設(shè)計(jì)實(shí)體類(lèi) 281
10.2.4 文件組織架構(gòu) 282
10.2.5 設(shè)計(jì)數(shù)據(jù)庫(kù)處理程序 283
10.2.6 設(shè)計(jì)action類(lèi) 284
10.2.7 設(shè)計(jì)視圖 295
10.2.8 設(shè)計(jì)樣式表 307
10.2.9 設(shè)計(jì)配置文件 308
本章小結(jié) 309
附錄A HTML語(yǔ)言常用標(biāo)記和屬性 310
附錄B CSS樣式表屬性 315
附錄C JavaScript常用對(duì)象的屬性、
方法、事件處理和函數(shù) 318
附錄D JSP內(nèi)置對(duì)象 325
參考文獻(xiàn)