本書以房屋租賃信息發(fā)布網(wǎng)站項目為載體,采用任務(wù)驅(qū)動的教學(xué)方法,將JSP的知識點與項目有機融合,內(nèi)容由淺入深、循序漸進、層次分明,使初學(xué)者能夠按照書中的任務(wù)向?qū)В徊揭徊降赝瓿蓪W(xué)習(xí)內(nèi)容。
全書共分8章,第1章講述了JSP開發(fā)環(huán)境的配置和常用開發(fā)工具的使用;第2章介紹了HTML基礎(chǔ)知識和Web項目配置管理的內(nèi)容;第3章重點介紹了JSP模板元素、注釋、腳本、動作等指令的語法和使用技巧;第4章以JSP隱式對象為主,詳細(xì)講解了request、response、session等內(nèi)建對象的原理和使用方法;第5章介紹了MVC三層開發(fā)模式,重點講解了Servlet的定義與使用,幫助讀者建立MVC三層模型開發(fā)理念;第6章講解了EL表達(dá)式、JSTL標(biāo)簽等的技術(shù)使用,通過使用EL表達(dá)式和JSTL標(biāo)簽簡化JSP頁面編程;第7章主要講解了Filter過濾器與Listener監(jiān)聽器的功能特性;第8章講解了JQuery在項目中的應(yīng)用。
本書可作為應(yīng)用型本科和高職院校學(xué)生的JSP課程教材,也適用于JSP的初學(xué)者或有一定基礎(chǔ)的讀者,其中項目開發(fā)設(shè)計過程和項目經(jīng)驗對于行業(yè)用戶也有借鑒作用。本書可作為大中專院校的JSP課程教材,書中完整的項目代碼與豐富的數(shù)字化資源,會使初學(xué)者獲得事半功倍的學(xué)習(xí)效果,同時,書中的任務(wù)也可作為初級程序員進行項目開發(fā)的參考。
據(jù)TIOBE 2019最新統(tǒng)計,全球編程語言排行榜中Java語言繼續(xù)排在第一位,以Java語言為基礎(chǔ)的JSP(Java Server Page)技術(shù)仍然廣泛應(yīng)用在Web項目開發(fā)中,其快速、安全、高效、跨平臺的特性得到了開發(fā)者的廣泛認(rèn)可,許多大型商業(yè)系統(tǒng)、政府網(wǎng)站、電子商務(wù)平臺等系統(tǒng)都采用了JSP及其相關(guān)技術(shù)進行開發(fā)。
本書共分8章。第1章重點講述了JDK、Tomcat等JSP開發(fā)環(huán)境配置,介紹了MyEclipse和MySQL等工具軟件的安裝使用,并以房屋租賃信息發(fā)布網(wǎng)站項目為例,進行簡單需求分析、數(shù)據(jù)庫設(shè)計,為后續(xù)的項目開發(fā)打下基礎(chǔ)。第2章結(jié)合房屋租賃信息發(fā)布網(wǎng)站規(guī)劃,以HTML基礎(chǔ)知識為主,介紹了頁面布局設(shè)計的常用方法,設(shè)計項目網(wǎng)頁等靜態(tài)資源,幫助讀者學(xué)習(xí)規(guī)劃管理Web項目、配置項目屬性、引入外部Jar包等基礎(chǔ)操作,進而學(xué)習(xí)項目的導(dǎo)入與導(dǎo)出等操作。第3章重點介紹了JSP模板元素、注釋、腳本、動作等指令的語法和使用技巧,講解如何在Web項目中設(shè)計、使用數(shù)據(jù)庫連接類,編寫數(shù)據(jù)庫操作常用工具方法實現(xiàn)對數(shù)據(jù)的操作。第4章以JSP隱式對象為主,詳細(xì)介紹了JSP中九種隱式對象的概念、作用域、生命周期和使用方法;按照九種隱式對象的分類,從數(shù)據(jù)保存、數(shù)據(jù)輸入/輸出、導(dǎo)航應(yīng)用等內(nèi)容,通過豐富的案例全方位地講解了隱式對象的具體使用方法,并且歸納了項目開發(fā)中常見的問題,提出了關(guān)于漢字亂碼、導(dǎo)航等問題的解決方案和項目開發(fā)經(jīng)驗;通過完成用戶登錄信息保持和網(wǎng)站主頁信息提取功能項目案例,強化了對相關(guān)知識技能點的掌握。第5章介紹MVC三層開發(fā)模式,重點講解了如何定義Servlet、Servlet中的常用方法接口以及Servlet的執(zhí)行加載過程;以豐富的案例講解了隱式對象在Servlet中的應(yīng)用,分析了session和Cookie的區(qū)別與聯(lián)系。第6章圍繞EL表達(dá)式、JSTL標(biāo)簽等技術(shù)展開講解,介紹了如何使用JSTL標(biāo)簽控制頁面的顯示邏輯,如何使用EL表達(dá)式從隱式對象中提取數(shù)據(jù),最后講解了自定義標(biāo)簽的創(chuàng)建和使用。第7章主要圍繞Filter過濾器與Listener監(jiān)聽器的功能特性以及常用API方法等內(nèi)容進行了講解,通過生動的案例演示了如何創(chuàng)建和配置Filter過濾器與Listener監(jiān)聽器,并應(yīng)用Filter過濾器與Listener監(jiān)聽器解決項目中的具體功能。第8章結(jié)合項目案例的特點有針對性地設(shè)計了案例和任務(wù),幫助學(xué)習(xí)者快速掌握J(rèn)Query中的一些常用方法,實現(xiàn)簡單、高效完成Web前端開發(fā)的任務(wù)。
本書通過項目驅(qū)動教學(xué),在保證知識體系完整的情況下,更加注重通過案例和任務(wù)等形式培養(yǎng)學(xué)習(xí)者的實踐能力。全書圍繞JSP相關(guān)知識與技能點共計安排了29個案例和24項任務(wù)。其中,案例緊扣所講知識點,短小精練,聚焦知識點對應(yīng)操作,案例的外延相對較小,使學(xué)生利用課堂時間就能完成案例的編寫與調(diào)試工作;任務(wù)圍繞章節(jié)知識技能點進行設(shè)計,具有一定的綜合性和擴展性,體現(xiàn)出對本章知識的綜合應(yīng)用,可作為階段性綜合演練或?qū)嶒炚n教學(xué)內(nèi)容使用。配合知識講解在容易出錯的地方加有【項目經(jīng)驗】【知識拓展】和【提示】等信息,方便讀者學(xué)習(xí)。本書中的案例和任務(wù)全部配有微課視頻資源,讀者可以使用手機掃描案例和任務(wù)旁邊的二維碼獲得對應(yīng)的微課視頻資源。同時,本書也提供了包括項目源代碼、PPT教案等在內(nèi)的數(shù)字化資源。
本書由王志勃、任艷、史夢安任主編,郜繼紅、汪燕和黃麗萍任副主編。其中,第1~3章由王志勃負(fù)責(zé)編寫,第4章由史夢安負(fù)責(zé)編寫,第5章由黃麗萍負(fù)責(zé)編寫,第6章由郜繼紅和汪燕負(fù)責(zé)編寫,第7、8章由任艷負(fù)責(zé)編寫。六位老師共同完成了本書的項目開發(fā)、案例與任務(wù)微課錄制和其他多媒體資源制作工作。在本書編寫過程中得到了淮安信息職業(yè)技術(shù)學(xué)院計算機系有關(guān)教師及其他院校同行的大力支持,在此對他們?yōu)楸緯霭孀龀龅呐Ρ硎局孕母兄x。在本書的編寫過程中借鑒了有關(guān)參考文獻,在此對文獻的作者表示誠摯的感謝!
在編寫過程中,作者以嚴(yán)謹(jǐn)?shù)膽B(tài)度、科學(xué)的方法,對書中每段代碼都認(rèn)真調(diào)試、仔細(xì)斟酌,力求將最貼切的案例展示給讀者,但由于水平有限,疏漏在所難免,敬請各位讀者批評指正。作者聯(lián)系郵箱是373700684@qq.com。我們將虛心接受讀者的意見和建議。感謝各位讀者選用本書,希望我們的付出能為您的成功提供有益幫助。
第1章 JSP開發(fā)環(huán)境搭建與項目需求分析 1
1.1 C/S與B/S 1
1.1.1 C/S與B/S開發(fā)架構(gòu)簡介 1
1.1.2 C/S與B/S架構(gòu)的優(yōu)缺點 2
1.2 JSP項目開發(fā)環(huán)境配置 2
1.2.1 JSP應(yīng)用概述 2
1.2.2 JDK的安裝與配置 3
1.2.3 Tomcat的安裝與認(rèn)識 7
1.3 MyEclipse開發(fā)工具 9
1.4 MySQL數(shù)據(jù)庫的使用 10
1.4.1 MySQL數(shù)據(jù)庫安裝 10
1.4.2 MySQL圖形化管理工具 13
1.5 第一個Web項目 15
1.5.1 Web項目的創(chuàng)建 15
1.5.2 項目的發(fā)布、啟動和訪問 16
1.6 階段項目:房屋租賃信息發(fā)布網(wǎng)站項目需求分析 18
1.6.1 房屋租賃信息發(fā)布網(wǎng)站需求分析 19
1.6.2 數(shù)據(jù)庫設(shè)計 19
練習(xí)題 21
第2章 Web項目基礎(chǔ)知識 22
2.1 Web項目相關(guān)知識 22
2.1.1 Web項目結(jié)構(gòu) 22
2.1.2 項目屬性配置 25
2.1.3 Java Build Path配置 25
2.1.4 Web Context Root配置 26
2.1.5 項目工作空間與導(dǎo)入導(dǎo)出 27
2.2 web.xml文件 28
2.2.1 定義歡迎頁面 29
2.2.2 定義錯誤頁面 29
2.3 Html相關(guān)知識 30
2.3.1 HTML中常用標(biāo)記介紹 30
2.3.2 頁面中的JavaScript腳本 33
2.3.3 頁面中的CSS樣式 34
2.4 階段項目:房屋租賃信息網(wǎng)站規(guī)劃 37
2.4.1 項目原型設(shè)計 37
2.4.2 靜態(tài)頁面設(shè)計 38
2.4.3 利用Table實現(xiàn)頁面的布局 40
練習(xí)題 50
第3章 JSP基礎(chǔ)知識 51
3.1 JSP基礎(chǔ)知識 51
3.1.1 JSP頁面創(chuàng)建 51
3.1.2 JSP基本語法 53
3.2 JSP動作標(biāo)簽 55
3.2.1 JSP動作標(biāo)簽簡介 55
3.2.2 JavaBean及相關(guān)動作標(biāo)簽 56
3.2.3 jsp:forward動作標(biāo)簽 61
3.2.4 jsp: include動作標(biāo)簽 63
3.3 JSP中訪問數(shù)據(jù)庫 65
3.3.1 項目中數(shù)據(jù)庫連接類的設(shè)計 66
3.3.2 PreparedStatement與Statement 69
3.4 JSP執(zhí)行原理 71
3.5 階段項目:用戶注冊與登錄 73
3.5.1 用戶注冊功能的實現(xiàn) 73
3.5.2 用戶登錄功能的實現(xiàn) 79
練習(xí)題 83
第4章 JSP隱式對象及其應(yīng)用 84
4.1 JSP隱式對象 84
4.1.1 JSP隱式對象簡介 84
4.1.2 與數(shù)據(jù)存儲有關(guān)的隱式對象 85
4.1.3 與輸入輸出有關(guān)的隱式對象 90
4.2 JSP隱式對象應(yīng)用中的常見問題 98
4.2.1 發(fā)送請求過程中漢字亂碼問題 98
4.2.2 頁面中的form表單 99
4.2.3 頁面中集合類標(biāo)簽數(shù)據(jù)收集 100
4.3 階段項目:主頁實現(xiàn)與用戶信息保持 101
4.3.1 房屋租賃網(wǎng)站主頁實現(xiàn) 101
4.3.2 用戶信息保持 113
練習(xí)題 118
第5章 MVC模式與Servlet 119
5.1 MVC開發(fā)模式 119
5.1.1 Web開發(fā)模式的演變 119
5.1.2 了解Servlet 121
5.2 Servlet的創(chuàng)建與使用 124
5.2.1 定義一個Servlet 124
5.2.2 Servlet執(zhí)行過程與生命周期 128
5.2.3 隱式對象在Servlet中的使用 129
5.3 Servlet與Cookie處理 137
5.3.1 Cookie簡介 137
5.3.2 Cookie與session的聯(lián)系與區(qū)別 137
5.3.3 Servlet中讀寫Cookie 138
5.4 階段項目:使用Servlet完成項目功能 143
5.4.1 使用Servlet改造前期任務(wù) 143
5.4.2 使用Servlet完成信息發(fā)布功能 151
練習(xí)題 155
第6章 EL表達(dá)式與JSTL標(biāo)簽 156
6.1 EL表達(dá)式 156
6.1.1 EL表達(dá)式 156
6.2 JSTL標(biāo)簽 161
6.2.1 標(biāo)簽庫簡介 161
6.2.2 JSTL核心標(biāo)簽庫 163
6.3 自定義標(biāo)簽 170
6.3.1 創(chuàng)建無標(biāo)記體簡單自定義標(biāo)簽 170
6.3.2 創(chuàng)建帶標(biāo)記體的自定義標(biāo)簽 177
6.4 階段項目:使用EL、JSTL和自定義標(biāo)簽優(yōu)化項目 181
6.4.1 使用EL、JSTL改造前期任務(wù) 181
6.4.2 使用自定義標(biāo)簽實現(xiàn)下拉列表框 187
練習(xí)題 192
第7章 Filter與Listener 193
7.1 Filter過濾器 193
7.1.1 Filter工作原理 193
7.1.2 Filter配置過程 195
7.1.3 Filter重定向 198
7.2 Listener監(jiān)聽器 202
7.2.1 Listener作用 202
7.3 階段項目:過濾器和監(jiān)聽器在項目中的應(yīng)用 204
7.3.1 過濾器在項目中的應(yīng)用 204
7.3.2 監(jiān)聽器在項目中的應(yīng)用 207
練習(xí)題 209
第8章 JQuery在項目中的應(yīng)用 210
8.1 JQuery簡介 210
8.2 JQuery選擇器 211
8.2.1 JQuery選擇器種類 211
8.2.2 常用表單標(biāo)簽數(shù)據(jù)存取 212
8.2.3 HTML標(biāo)簽數(shù)據(jù)存取 213
8.2.4 使用JQuery控制頁面樣式 215
8.3 JQuery事件 217
8.3.1 簡單綁定 217
8.3.2 on綁定 219
8.3.3 JQuery中的頁面加載事件 219
8.4 JQuery中的ajax()方法 221
8.4.1 ajax()方法 221
8.4.2 JSON數(shù)據(jù)格式 222
8.5 階段項目:使用JQuery中的ajax()方法改進項目 222
8.5.1 使用JQuery ajax()方法?+?Servlet實現(xiàn)市區(qū)信息加載 222
8.5.2 使用JQuery Ajax方法?+?Servlet實現(xiàn)二級聯(lián)動效果 228
練習(xí)題 232
附錄 立體化資源快速定位表 233
參考文獻 236