本書將Java Web開發(fā)的基礎(chǔ)知識(shí)與實(shí)例有機(jī)地結(jié)合在一起,系統(tǒng)地介紹Java Web應(yīng)用開發(fā)過(guò)程中的一些實(shí)用技術(shù)、系統(tǒng)設(shè)計(jì)與編程思想。本書主要內(nèi)容包括Java Web開發(fā)基礎(chǔ)、Servlet入門、Servlet應(yīng)用、JSP應(yīng)用開發(fā)、JDBC數(shù)據(jù)庫(kù)應(yīng)用開發(fā)、EL表達(dá)式與JSTL標(biāo)簽、基于Web MVC框架的項(xiàng)目實(shí)踐。全書不僅介紹理論基礎(chǔ),更強(qiáng)調(diào)實(shí)際應(yīng)用。
本書可作為普通高等院校計(jì)算機(jī)相關(guān)專業(yè)的教材,也可作為程序開發(fā)人員的參考書。
1.內(nèi)容豐富、組織合理
本書按照由淺入深的順序,結(jié)合職業(yè)教育背景下的軟件技術(shù)專業(yè)學(xué)生的特點(diǎn),以碎片化“知識(shí)點(diǎn)”為單元,采用案例驅(qū)動(dòng)、項(xiàng)目導(dǎo)向,通過(guò)理論與實(shí)踐相結(jié)合的方式,便于讀者在學(xué)習(xí)知識(shí)的同時(shí)進(jìn)行項(xiàng)目實(shí)踐。
2.結(jié)合實(shí)際、突出實(shí)踐
本書由企業(yè)工程師精心設(shè)計(jì)了大量示例和項(xiàng)目實(shí)訓(xùn),體現(xiàn)了“教、學(xué)、做一體化”的思想,方便讀者快速上手,培養(yǎng)讀者實(shí)際操作的動(dòng)手能力。示例和項(xiàng)目實(shí)踐有詳細(xì)的代碼說(shuō)明和實(shí)踐步驟解釋。
3.資源豐富、立體教學(xué)
本書配備了豐富的立體化教學(xué)資源,包括教學(xué)課件、案例代碼、習(xí)題及答案等。
4.校企合作“雙元”模式優(yōu)質(zhì)教材
本書由成都中慧科技有限公司組織,邀請(qǐng)實(shí)戰(zhàn)經(jīng)驗(yàn)豐富的IT專家參與教材建設(shè),將前沿的技術(shù)引入到教材中,保證內(nèi)容新穎實(shí)用。教材主編積累了豐富的教學(xué)經(jīng)驗(yàn),他們依據(jù)先進(jìn)的教育理念,結(jié)合國(guó)內(nèi)職業(yè)院校實(shí)際教學(xué)情況以及學(xué)生專業(yè)水平,與IT專家共同探討培養(yǎng)目標(biāo)、內(nèi)容、框架,基于不同的教學(xué)情境,開發(fā)出新一代信息技術(shù)優(yōu)質(zhì)教材。
曹慧
高級(jí)工程師,高級(jí)“雙師型”教師,教育部創(chuàng)新發(fā)展行動(dòng)計(jì)劃移動(dòng)互聯(lián)應(yīng)用技術(shù)骨干專業(yè)核心成員、首批國(guó)家級(jí)職業(yè)教育教學(xué)創(chuàng)新團(tuán)隊(duì)軟件技術(shù)團(tuán)隊(duì)、高等院校優(yōu)勢(shì)專業(yè)——軟件技術(shù)專業(yè)、江西省高職院校軟件技術(shù)專業(yè)教學(xué)資源庫(kù)主要建設(shè)成員。主要研究領(lǐng)域?yàn)榍度胧郊夹g(shù)開發(fā)與應(yīng)用,擅長(zhǎng)Java程序應(yīng)用開發(fā)、Java Web程序開發(fā)、數(shù)據(jù)庫(kù)開發(fā)等。2019、2021年連續(xù)2年指導(dǎo)學(xué)生參加全國(guó)職業(yè)技能大賽嵌入式技術(shù)應(yīng)用開發(fā)賽項(xiàng)獲得國(guó)家級(jí)一等獎(jiǎng),榮獲國(guó)家級(jí)優(yōu)秀指導(dǎo)教師稱號(hào)。近五年來(lái),指導(dǎo)學(xué)生參加省級(jí)技能競(jìng)賽獲獎(jiǎng)8項(xiàng)。主持建成省級(jí)精品課程1項(xiàng),為主參與2項(xiàng);獲得省信息化教學(xué)大賽一等獎(jiǎng);發(fā)表專業(yè)論文8篇(核心2篇),實(shí)用新型專利4項(xiàng)。多次獲“先進(jìn)工作者”“三育先進(jìn)個(gè)人”“課程教學(xué)優(yōu)秀獎(jiǎng)”“優(yōu)秀教學(xué)質(zhì)量獎(jiǎng)”等榮譽(yù)。
艾迪
副教授,高級(jí)“雙師型”教師, 軟件設(shè)計(jì)師、計(jì)算機(jī)程序設(shè)計(jì)員技師,江西省青年井岡學(xué)者,江西省技術(shù)能手、江西省青年崗位能手、江西省巾幗建功標(biāo)兵,國(guó)家級(jí)教師教學(xué)創(chuàng)新團(tuán)隊(duì)核心成員,物聯(lián)網(wǎng)應(yīng)用技術(shù)國(guó)家級(jí)雙高專業(yè)群核心專業(yè)負(fù)責(zé)人。主要研究領(lǐng)域?yàn)檐浖_發(fā)與測(cè)試,熟悉大數(shù)據(jù)與人工智能技術(shù)領(lǐng)域。2018、2019年連續(xù)2年指導(dǎo)學(xué)生參加全國(guó)職業(yè)技能大賽軟件測(cè)試賽項(xiàng)獲得國(guó)家級(jí)一等獎(jiǎng),榮獲國(guó)家級(jí)優(yōu)秀指導(dǎo)教師稱號(hào)。近五年來(lái),指導(dǎo)學(xué)生參加省級(jí)技能競(jìng)賽獲一等獎(jiǎng)7項(xiàng),二等獎(jiǎng)8項(xiàng)。作為專業(yè)帶頭人近五年內(nèi)帶領(lǐng)軟件技術(shù)專業(yè)獲評(píng)省級(jí)優(yōu)勢(shì)特色專業(yè)、建成軟件技術(shù)省級(jí)教學(xué)資源庫(kù)。主持建成省級(jí)精品課程1門、大數(shù)據(jù)技術(shù)與應(yīng)用國(guó)家級(jí)教學(xué)資源庫(kù)內(nèi)課程1門、參與建設(shè)省級(jí)精品課程3門。2019年獲得省級(jí)教學(xué)成果一等獎(jiǎng)。2018年擔(dān)任重慶市職業(yè)院校技能大賽軟件測(cè)試賽項(xiàng)裁判員。
目錄
第 1章
Java Web開發(fā)基礎(chǔ) 1
1.1 Web應(yīng)用程序概述 1
1.1.1 Web應(yīng)用程序的工作原理 1
1.1.2 C/S架構(gòu)和B/S架構(gòu) 2
1.2 HTTP 2
1.2.1 HTTP概述 2
1.2.2 URL格式 4
1.2.3 HTTP報(bào)文格式 4
1.2.4 HTTP請(qǐng)求方法 6
1.2.5 HTTP會(huì)話管理 9
1.3 常用的調(diào)試工具 10
1.3.1 Fiddler抓包工具 10
1.3.2 Chrome開發(fā)者工具 12
1.3.3 Postman工具 14
1.4 本章小結(jié) 18
1.5 本章練習(xí) 18
第 2章
Servlet入門 19
2.1 開發(fā)環(huán)境的安裝與配置 19
2.1.1 Java Web環(huán)境介紹 19
2.1.2 JDK的安裝 20
2.1.3 Tomcat的安裝 24
2.1.4 Eclipse與Tomcat的集成 29
2.2 Servlet概述 35
2.2.1 Servlet生命周期 35
2.2.2 編寫Servlet程序 37
2.2.3 獲取Servlet配置信息 45
2.3 Servlet請(qǐng)求數(shù)據(jù)獲取 50
2.3.1 請(qǐng)求數(shù)據(jù)獲取 51
2.3.2 Form表單數(shù)據(jù)獲取 55
2.3.3 文件上傳 60
2.4 Servlet響應(yīng) 63
2.4.1 設(shè)置狀態(tài)碼 64
2.4.2 設(shè)置響應(yīng)頭 65
2.4.3 輸出響應(yīng)體 66
2.5 Servlet會(huì)話管理 71
2.5.1 會(huì)話管理概述 71
2.5.2 會(huì)話管理的原理 71
2.5.3 會(huì)話應(yīng)用 72
2.5.4 會(huì)話跟蹤 77
2.6 本章小結(jié) 80
2.7 本章練習(xí) 80
第3章
Servlet應(yīng)用 81
3.1 Cookie 81
3.1.1 Cookie概述 81
3.1.2 Cookie常用方法 83
3.1.3 Cookie的寫入與讀取 84
3.2 請(qǐng)求轉(zhuǎn)發(fā)、請(qǐng)求包含與請(qǐng)求重定向 88
3.2.1 請(qǐng)求轉(zhuǎn)發(fā) 88
3.2.2 請(qǐng)求包含 91
3.2.3 請(qǐng)求重定向 92
3.2.4 請(qǐng)求轉(zhuǎn)發(fā)vs請(qǐng)求重定向 93
3.3 ServletContext 96
3.3.1 ServletContext對(duì)象 96
3.3.2 ServletContext的方法 97
3.4 過(guò)濾器(Filter) 102
3.4.1 過(guò)濾器概述 102
3.4.2 實(shí)現(xiàn)第 一個(gè)Filter程序 103
3.4.3 過(guò)濾器注解@WebFilter 105
3.4.4 Filter映射 108
3.4.5 Filter鏈 110
3.5 監(jiān)聽器 113
3.5.1 監(jiān)聽器概述 113
3.5.2 監(jiān)聽器的類型 114
3.5.3 監(jiān)聽器應(yīng)用 115
3.6 本章小結(jié) 117
3.7 本章練習(xí) 117
第4章
JSP應(yīng)用開發(fā) 119
4.1 JSP概述 119
4.1.1 JSP基礎(chǔ)與運(yùn)行原理 119
4.1.2 JSP與Servlet的關(guān)系 121
4.2 JSP頁(yè)面元素 123
4.2.1 JSP腳本元素與注釋 123
4.2.2 JSP指令與動(dòng)作 127
4.3 JSP內(nèi)置對(duì)象 142
4.3.1 JSP內(nèi)置對(duì)象概述 143
4.3.2 pageContext對(duì)象 152
4.3.3 exception對(duì)象 155
4.4 本章小結(jié) 157
4.5 本章練習(xí) 158
第5章
JDBC數(shù)據(jù)庫(kù)應(yīng)用開發(fā) 161
5.1 JDBC概述 161
5.1.1 JDBC基本概念 161
5.1.2 JDBC常用接口 164
5.2 JDBC操作數(shù)據(jù)庫(kù) 167
5.2.1 JDBC連接數(shù)據(jù)庫(kù) 167
5.2.2 JDBC數(shù)據(jù)封裝 174
5.2.3 JDBC執(zhí)行數(shù)據(jù)操作 177
5.3 數(shù)據(jù)庫(kù)連接池 185
5.3.1 連接池簡(jiǎn)介 185
5.3.2 DBCP數(shù)據(jù)源的使用 187
5.4 本章小結(jié) 193
5.5 本章練習(xí) 193
第6章
EL表達(dá)式與JSTL標(biāo)簽 195
6.1 EL表達(dá)式 195
6.1.1 EL表達(dá)式概述 195
6.1.2 EL表達(dá)式運(yùn)算 196
6.1.3 EL表達(dá)式數(shù)據(jù)訪問(wèn) 198
6.2 EL表達(dá)式內(nèi)置對(duì)象 200
6.2.1 EL表達(dá)式內(nèi)置對(duì)象概述 201
6.2.2 內(nèi)置對(duì)象的應(yīng)用 201
6.3 JSTL概述及核心標(biāo)簽庫(kù) 207
6.3.1 JSTL概述 207
6.3.2 JSTL的配置 207
6.3.3 JSTL使用步驟 207
6.3.4 核心標(biāo)簽庫(kù) 209
6.4 JSTL I18n標(biāo)簽庫(kù) 227
6.4.1 I18n 227
6.4.2 I18n標(biāo)簽 227
6.5 JSTL函數(shù)庫(kù) 243
6.5.1 JSTL標(biāo)準(zhǔn)函數(shù) 243
6.5.2 字符串處理函數(shù) 243
6.6 本章小結(jié) 257
6.7 本章練習(xí) 258
第7章
基于Web MVC框架的項(xiàng)目實(shí)踐 259
7.1 Web MVC框架 259
7.1.1 MVC思想 260
7.1.2 Web MVC框架演變過(guò)程 261
7.1.3 Web MVC框架的優(yōu)勢(shì) 265
7.1.4 自構(gòu)建Web MVC框架 266
7.2 實(shí)戰(zhàn)——基于Web MVC框架的學(xué)生信息管理系統(tǒng) 290
7.2.1 項(xiàng)目背景 290
7.2.2 項(xiàng)目功能 290
7.2.3 項(xiàng)目數(shù)據(jù)庫(kù)設(shè)計(jì) 292
7.2.4 項(xiàng)目編程實(shí)現(xiàn) 292
7.3 本章小結(jié) 309