《Java Web開發(fā)實用教程》以Servlet技術(shù)為起點,注重Web編程的原理知識,對JSP知識采取必要、必備原則,以EL和JSTL的使用為重點,通過傳統(tǒng)的MVC模式應(yīng)用將Servlet、JSP知識融會貫通;*后介紹了基于Spring框架技術(shù)的MVC應(yīng)用,使讀者掌握Web編程框架及其設(shè)計思想和MVC編程方法。
《Java Web開發(fā)實用教程》強調(diào)原理與實戰(zhàn)的結(jié)合,注重通過實戰(zhàn)來提升讀者解決實際問題的能力,融合前端和后端技術(shù),打通從學(xué)到用的路線,并利用流程圖梳理Web編程要素:瀏覽器、服務(wù)器、HTTP之間的工作過程,幫助讀者建立清晰的編程思路。
《Java Web開發(fā)實用教程》可以作為大學(xué)本科、?朴嬎銠C及相關(guān)專業(yè)的教材,也可作為Java愛好者、工程技術(shù)人員的自學(xué)參考書。
《Java Web開發(fā)實用教程》配有授課電子課件、課后習(xí)題答案和程序源代碼,需要的教師可登錄www.cmpedu.com免費注冊,審核通過后下載,或聯(lián)系編輯索取(微信:15910938545,電話:010-88379739)。
適讀人群 :本科計算機專業(yè)
以后端編程為主,融合前端設(shè)計的擬全棧式開發(fā)過程
通過思維導(dǎo)圖對每章知識、案例進行了梳理,提綱挈領(lǐng)
配套資源豐富,PPT、教學(xué)大綱、源代碼、課后習(xí)題答案、關(guān)鍵技術(shù)索引
前 言
Java Web的應(yīng)用開發(fā)是Web后端開發(fā)的主流技術(shù)。
Web開發(fā)的難度首先在于涉及的技術(shù)繁多,以Java Web為例,除了本身的核心組件Servlet和 JSP 之外,完整的 Web 應(yīng)用開發(fā)還需要具備前端頁面和CSS的基礎(chǔ)知識,同時使用JavaScript與后端程序進行交互,最后使用數(shù)據(jù)庫訪問技術(shù)完成數(shù)據(jù)存儲的持久化。開發(fā)過程中除了Java EE體系中類庫的學(xué)習(xí)之外,還需要搭建服務(wù)器運行環(huán)境,并通過對HTTP的理解駕馭請求和響應(yīng)處理。那么,眾多的代碼從哪里開始寫?代碼之間的調(diào)用關(guān)系是什么?如何發(fā)起請求、傳遞數(shù)據(jù)?如何解決好這些涉及Web程序編寫思路的問題十分重要。
另一方面Web開發(fā)打破了一般程序設(shè)計的編寫調(diào)試過程,不只使用IDE,還需要在服務(wù)器環(huán)境中部署程序、在瀏覽器中運行程序;調(diào)試程序不僅僅是IDE中的事情,還需要瀏覽器的配合。
并且Web開發(fā)技術(shù)的發(fā)展方向是從純手工編寫每行代碼到運用框架技術(shù)開發(fā)應(yīng)用,通過應(yīng)用框架技術(shù)提升開發(fā)效率。
針對Web開發(fā)的這些特點,《Java Web開發(fā)實用教程》采取如下編寫思路。
(1)以后端編程為主,融合前端設(shè)計的擬全棧式開發(fā)過程
后端開發(fā)以Servlet為起點,JSP知識采取必要、必備原則,從傳統(tǒng)MVC到Spring MVC,構(gòu)建Web編程的完整路線。同時,在后端程序的編寫過程中融合前端技術(shù),用Ajax技術(shù)+JSON數(shù)據(jù)作為連接線將前端處理與后端處理相結(jié)合,實踐完整的Web開發(fā)過程。
《Java Web開發(fā)實用教程》的案例及課后練習(xí)中已具有CSS樣式設(shè)計的相關(guān)內(nèi)容,可以作為前端學(xué)習(xí)的補充,并直接用于后端開發(fā)的實踐。
(2)原理與實戰(zhàn)并重
《Java Web開發(fā)實用教程》秉承知其然更知其所以然的思想,注重編程背后的理論知識的講解,解決為什么瀏覽器和服務(wù)器可以通信,為什么會出現(xiàn)中文亂碼,為什么要構(gòu)建MVC模式等問題,讓編程的基礎(chǔ)更為堅實。
《Java Web開發(fā)實用教程》每章都包含了大量的Web應(yīng)用實例,如注冊登錄、論壇、管理信息系統(tǒng)、網(wǎng)上書店等,通過實例講解Web技術(shù)的運用,逐步培養(yǎng)學(xué)生解決復(fù)雜問題的能力,打通從學(xué)到用的路線。
(3)使用圖表增強文字的表現(xiàn)力
相對于文字而言,圖可以更形象、立體地展示知識及彼此間的聯(lián)系,表可以梳理、對比相關(guān)、相似的知識點,從而快速提取到文字的主旨、脈絡(luò)和精華。
《Java Web開發(fā)實用教程》盡可能使用圖表簡明扼要地展示知識結(jié)構(gòu)、編程思路。利用流程圖梳理Web編程三要素—瀏覽器、服務(wù)器、HTTP之間的工作過程,建立清晰的Web編程思路;通過結(jié)構(gòu)圖展示系統(tǒng)各層之間的關(guān)系,體現(xiàn)系統(tǒng)架構(gòu)。
《Java Web開發(fā)實用教程》各章都通過思維導(dǎo)圖對整章知識、案例進行了梳理,提綱挈領(lǐng),將知識從點連接成線,再構(gòu)建為面,最終立體化。
《Java Web開發(fā)實用教程》內(nèi)容結(jié)構(gòu)如下。
《Java Web開發(fā)實用教程》還隨書提供關(guān)鍵技術(shù)索引、課后習(xí)題答案及所有程序源代碼,可登錄機械工業(yè)出版社教育服務(wù)網(wǎng)www.cmpedu.com注冊并下載。
如同我們看到的鋼琴家每一次流暢的演奏,運動員每一個漂亮的動作……每個成功都有我們沒看到,但想象得到的日復(fù)一日的練習(xí),編程亦是如此。希望讀者在正確學(xué)習(xí)路線的引導(dǎo)下,通過鍥而不舍的練習(xí),穩(wěn)步前行,掌握Web編程技術(shù)。
《Java Web開發(fā)實用教程》由宋晏和謝永紅任主編,陳曉美任副主編,參加編寫的還有張子萍、張小靜。
書中難免有疏漏與不足之處,敬請廣大讀者批評指正。
編 者
目 錄
前言
第1章 Java Web應(yīng)用概述1
1.1 Web應(yīng)用的概念1
1.2 搭建Java Web編程環(huán)境1
1.2.1 JDK2
1.2.2 Eclipse4
1.2.3 Tomcat服務(wù)器4
1.2.4 在Eclipse中配置Tomcat服務(wù)器5
1.3 編寫第一個Java Web應(yīng)用9
1.3.1 創(chuàng)建Java Web應(yīng)用9
1.3.2 創(chuàng)建Servlet類12
1.3.3 部署和運行Web應(yīng)用15
1.4 思維導(dǎo)圖17
1.5 習(xí)題17
第2章 Servlet編程基礎(chǔ)19
2.1 HTTP19
2.1.1 請求數(shù)據(jù)19
2.1.2 響應(yīng)數(shù)據(jù)21
2.2 Servlet獲取請求參數(shù)21
2.2.1 獲取請求22
2.2.2 請求方式25
2.2.3 action中的相對路徑和絕對路徑26
2.3 請求和響應(yīng)中的中文亂碼問題27
2.4 用Servlet搭建小型應(yīng)用系統(tǒng)30
2.4.1 系統(tǒng)功能原型30
2.4.2 數(shù)據(jù)庫及JDBC訪問30
2.4.3 連接MySQL數(shù)據(jù)庫34
2.4.4 查看數(shù)據(jù)列表37
2.4.5 上報體溫數(shù)據(jù)39
2.4.6 請求的重定向40
2.5 思維導(dǎo)圖42
2.6 習(xí)題42
第3章 Servlet編程進階45
3.1 Servlet API45
3.2 請求的處理過程46
3.3 Web應(yīng)用和Servlet的生命周期48
3.3.1 Web應(yīng)用的生命周期48
3.3.2 Servlet生命周期49
3.4 ServletConfig對象52
3.5 ServletContext對象54
3.6 思維導(dǎo)圖56
3.7 習(xí)題56
第4章 JSP編程基礎(chǔ)59
4.1 JSP的工作原理59
4.2 JSP文件的基本元素61
4.2.1 創(chuàng)建JSP文件61
4.2.2 JSP文件中的注釋61
4.2.3 JSP中的腳本62
4.2.4 JSP中的page指令64
4.2.5 自定義JSP文件模板66
4.3 JSP編程中的中文編碼問題67
4.4 靜態(tài)包含和動態(tài)包含67
4.4.1 include指令67
4.4.2 include動作70
4.5 Ajax與JSP實例71
4.5.1 Ajax概述71
4.5.2 jQuery的Ajax訪問方法72
4.5.3 Ajax請求案例——注冊查重74
4.5.4 向Ajax返回JSON數(shù)據(jù)77
4.6 思維導(dǎo)圖80
4.7 習(xí)題80
第5章 JSP隱含對象83
5.1 隱含對象概述83
5.2 request對象84
5.3 response對象86
5.4 out對象86
5.5 exception對象87
5.6 利用隱含對象攜帶參數(shù)88
5.6.1 組件間的參數(shù)傳遞89
5.6.2 轉(zhuǎn)發(fā)和重定向90
5.7 模擬豆瓣電影短評91
5.7.1 填寫短評92
5.7.2 短評列表95
5.8 思維導(dǎo)圖100
5.9 習(xí)題100
第6章 Web應(yīng)用的MVC設(shè)計模式102
6.1 MVC模式的概念102
6.2 Model1和JavaBean103
6.2.1 JavaBean的概念103
6.2.2 JavaBean的作用域和使用104
6.3 Model2的編寫107
6.3.1 模型107
6.3.2 控制器108
6.3.3 到達視圖108
6.4 學(xué)生管理系統(tǒng)109
6.4.1 數(shù)據(jù)庫設(shè)計及數(shù)據(jù)庫連接池工具109
6.4.2 項目中的代碼組織113
6.4.3 學(xué)生信息瀏覽113
6.4.4 添加學(xué)生信息116
6.4.5 修改學(xué)生信息119
6.5 思維導(dǎo)圖123
6.6 習(xí)題123
第7章 JSP編程的標簽化126
7.1 EL表達式126
7.1.1 訪問JavaBean的屬性126
7.1.2 進行計算128
7.1.3 獲取請求參數(shù)129
7.2 JSTL130
7.3 JSTL核心標簽庫131
7.3.1 一般用途標簽131
7.3.2 if標簽132
7.3.3 choose標簽133
7.3.4 forEach標簽134
7.4 JSTL格式化標簽135
7.5 functions庫中的EL函數(shù)137
7.6 自定義標簽139
7.7 重寫學(xué)生管理系統(tǒng)的JSP頁面141
7.7.1 列表頁面141
7.7.2 “修改”學(xué)生信息頁面142
7.8 思維導(dǎo)圖143
7.9 習(xí)題143
第8章 Cookie、session與會話跟蹤146
8.1 會話跟蹤146
8.2 Cookie147
8.2.1 創(chuàng)建和查找Cookie147
8.2.2 使用EL表達式讀取Cookie150
8.2.3 Cookie的生命周期151
8.2.4 Cookie的路徑152
8.2.5 Cookie的編碼153
8.2.6 Cookie的限制154
8.3 session154
8.3.1 session的工作過程155
8.3.2 使用EL表達式讀取session157
8.3.3 銷毀session158
8.3.4 設(shè)置session的失效時間159
8.3.5 通過重寫URL跟蹤會話160
8.4 session與驗證碼161
8.4.1 驗證碼字符的生成162
8.4.2 驗證碼的繪制162
8.4.3 為登錄添加驗證碼功能163
8.5 思維導(dǎo)圖166
8.6 習(xí)題166
第9章 過濾器和監(jiān)聽器168
9.1 過濾器168
9.1.1 過濾器的定義168
9.1.2 創(chuàng)建和配置過濾器168
9.1.3 為過濾器設(shè)置參數(shù)170
9.1.4 過濾器串聯(lián)172
9.1.5 在過濾器中包裝請求174
9.1.6 在過濾器中包裝響應(yīng)179
9.2 監(jiān)聽器181
9.2.1 監(jiān)聽器的定義182
9.2.2 創(chuàng)建和配置監(jiān)聽器183
9.3 思維導(dǎo)圖184
9.4 習(xí)題184
第10章 Maven與Maven項目187
10.1 Maven基礎(chǔ)知識187
10.1.1 Maven的定義187
10.1.2 Maven的安裝和配置187
10.1.3 Eclipse中的Maven配置188
10.1.4 建立Maven項目188
10.1.5 設(shè)置Maven編譯插件192
10.1.6 配置Maven倉庫193
10.1.7 建立本地倉庫194
10.2 在Maven項目中編寫代碼196
10.2.1 Maven項目結(jié)構(gòu)196
10.2.2 JUnit測試198
10.2.3 Maven項目的構(gòu)建201
10.3 思維導(dǎo)圖202
10.4 習(xí)題203
第11章 認識Spring MVC204
11.1 Spring框架概述204
11.2 Spring IoC205
11.2.1 IoC和依賴注入205
11.2.2 Spring容器206
11.2.3 Spring容器對Bean的管理207
11.2.4 setter注入和構(gòu)造器注入209
11.2.5 注入Bean對象211
11.2.6 注入集合212
11.2.7 Spring表達式215
11