本書將Java Web開發(fā)的基礎(chǔ)知識與實(shí)例有機(jī)地結(jié)合在一起,系統(tǒng)地介紹Java Web應(yīng)用開發(fā)過程中的一些實(shí)用技術(shù)、系統(tǒng)設(shè)計(jì)與編程思想。本書主要內(nèi)容包括Java Web開發(fā)基礎(chǔ)、Servlet入門、Servlet應(yīng)用、JSP應(yīng)用開發(fā)、JDBC數(shù)據(jù)庫應(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),以碎片化“知識點(diǎn)”為單元,采用案例驅(qū)動、項(xiàng)目導(dǎo)向,通過理論與實(shí)踐相結(jié)合的方式,便于讀者在學(xué)習(xí)知識的同時(shí)進(jìn)行項(xiàng)目實(shí)踐。
2.結(jié)合實(shí)際、突出實(shí)踐
本書由企業(yè)工程師精心設(shè)計(jì)了大量示例和項(xiàng)目實(shí)訓(xùn),體現(xiàn)了“教、學(xué)、做一體化”的思想,方便讀者快速上手,培養(yǎng)讀者實(shí)際操作的動手能力。示例和項(xiàng)目實(shí)踐有詳細(xì)的代碼說明和實(shí)踐步驟解釋。
3.資源豐富、立體教學(xué)
本書配備了豐富的立體化教學(xué)資源,包括教學(xué)課件、案例代碼、習(xí)題及答案等。
4.校企合作“雙元”模式優(yōu)質(zhì)教材
本書由成都中慧科技有限公司組織,邀請實(shí)戰(zhàn)經(jīng)驗(yàn)豐富的IT專家參與教材建設(shè),將前沿的技術(shù)引入到教材中,保證內(nèi)容新穎實(shí)用。教材主編積累了豐富的教學(xué)經(jīng)驗(yàn),他們依據(jù)先進(jìn)的教育理念,結(jié)合國內(nèi)職業(yè)院校實(shí)際教學(xué)情況以及學(xué)生專業(yè)水平,與IT專家共同探討培養(yǎng)目標(biāo)、內(nèi)容、框架,基于不同的教學(xué)情境,開發(fā)出新一代信息技術(shù)優(yōu)質(zhì)教材。
曹慧
高級工程師,高級“雙師型”教師,教育部創(chuàng)新發(fā)展行動計(jì)劃移動互聯(lián)應(yīng)用技術(shù)骨干專業(yè)核心成員、首批國家級職業(yè)教育教學(xué)創(chuàng)新團(tuán)隊(duì)軟件技術(shù)團(tuán)隊(duì)、高等院校優(yōu)勢專業(yè)——軟件技術(shù)專業(yè)、江西省高職院校軟件技術(shù)專業(yè)教學(xué)資源庫主要建設(shè)成員。主要研究領(lǐng)域?yàn)榍度胧郊夹g(shù)開發(fā)與應(yīng)用,擅長Java程序應(yīng)用開發(fā)、Java Web程序開發(fā)、數(shù)據(jù)庫開發(fā)等。2019、2021年連續(xù)2年指導(dǎo)學(xué)生參加全國職業(yè)技能大賽嵌入式技術(shù)應(yīng)用開發(fā)賽項(xiàng)獲得國家級一等獎,榮獲國家級優(yōu)秀指導(dǎo)教師稱號。近五年來,指導(dǎo)學(xué)生參加省級技能競賽獲獎8項(xiàng)。主持建成省級精品課程1項(xiàng),為主參與2項(xiàng);獲得省信息化教學(xué)大賽一等獎;發(fā)表專業(yè)論文8篇(核心2篇),實(shí)用新型專利4項(xiàng)。多次獲“先進(jìn)工作者”“三育先進(jìn)個人”“課程教學(xué)優(yōu)秀獎”“優(yōu)秀教學(xué)質(zhì)量獎”等榮譽(yù)。
艾迪
副教授,高級“雙師型”教師, 軟件設(shè)計(jì)師、計(jì)算機(jī)程序設(shè)計(jì)員技師,江西省青年井岡學(xué)者,江西省技術(shù)能手、江西省青年崗位能手、江西省巾幗建功標(biāo)兵,國家級教師教學(xué)創(chuàng)新團(tuán)隊(duì)核心成員,物聯(lián)網(wǎng)應(yīng)用技術(shù)國家級雙高專業(yè)群核心專業(yè)負(fù)責(zé)人。主要研究領(lǐng)域?yàn)檐浖_發(fā)與測試,熟悉大數(shù)據(jù)與人工智能技術(shù)領(lǐng)域。2018、2019年連續(xù)2年指導(dǎo)學(xué)生參加全國職業(yè)技能大賽軟件測試賽項(xiàng)獲得國家級一等獎,榮獲國家級優(yōu)秀指導(dǎo)教師稱號。近五年來,指導(dǎo)學(xué)生參加省級技能競賽獲一等獎7項(xiàng),二等獎8項(xiàng)。作為專業(yè)帶頭人近五年內(nèi)帶領(lǐng)軟件技術(shù)專業(yè)獲評省級優(yōu)勢特色專業(yè)、建成軟件技術(shù)省級教學(xué)資源庫。主持建成省級精品課程1門、大數(shù)據(jù)技術(shù)與應(yīng)用國家級教學(xué)資源庫內(nèi)課程1門、參與建設(shè)省級精品課程3門。2019年獲得省級教學(xué)成果一等獎。2018年擔(dān)任重慶市職業(yè)院校技能大賽軟件測試賽項(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請求方法 6
1.2.5 HTTP會話管理 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請求數(shù)據(jù)獲取 50
2.3.1 請求數(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會話管理 71
2.5.1 會話管理概述 71
2.5.2 會話管理的原理 71
2.5.3 會話應(yīng)用 72
2.5.4 會話跟蹤 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 請求轉(zhuǎn)發(fā)、請求包含與請求重定向 88
3.2.1 請求轉(zhuǎn)發(fā) 88
3.2.2 請求包含 91
3.2.3 請求重定向 92
3.2.4 請求轉(zhuǎn)發(fā)vs請求重定向 93
3.3 ServletContext 96
3.3.1 ServletContext對象 96
3.3.2 ServletContext的方法 97
3.4 過濾器(Filter) 102
3.4.1 過濾器概述 102
3.4.2 實(shí)現(xiàn)第 一個Filter程序 103
3.4.3 過濾器注解@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頁面元素 123
4.2.1 JSP腳本元素與注釋 123
4.2.2 JSP指令與動作 127
4.3 JSP內(nèi)置對象 142
4.3.1 JSP內(nèi)置對象概述 143
4.3.2 pageContext對象 152
4.3.3 exception對象 155
4.4 本章小結(jié) 157
4.5 本章練習(xí) 158
第5章
JDBC數(shù)據(jù)庫應(yīng)用開發(fā) 161
5.1 JDBC概述 161
5.1.1 JDBC基本概念 161
5.1.2 JDBC常用接口 164
5.2 JDBC操作數(shù)據(jù)庫 167
5.2.1 JDBC連接數(shù)據(jù)庫 167
5.2.2 JDBC數(shù)據(jù)封裝 174
5.2.3 JDBC執(zhí)行數(shù)據(jù)操作 177
5.3 數(shù)據(jù)庫連接池 185
5.3.1 連接池簡介 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ù)訪問 198
6.2 EL表達(dá)式內(nèi)置對象 200
6.2.1 EL表達(dá)式內(nèi)置對象概述 201
6.2.2 內(nèi)置對象的應(yīng)用 201
6.3 JSTL概述及核心標(biāo)簽庫 207
6.3.1 JSTL概述 207
6.3.2 JSTL的配置 207
6.3.3 JSTL使用步驟 207
6.3.4 核心標(biāo)簽庫 209
6.4 JSTL I18n標(biāo)簽庫 227
6.4.1 I18n 227
6.4.2 I18n標(biāo)簽 227
6.5 JSTL函數(shù)庫 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框架演變過程 261
7.1.3 Web MVC框架的優(yōu)勢 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ù)庫設(shè)計(jì) 292
7.2.4 項(xiàng)目編程實(shí)現(xiàn) 292
7.3 本章小結(jié) 309