《Java Web程序設計》是一本系統(tǒng)而詳細的Java Web入門教材,內(nèi)容涵蓋了Web開發(fā)的前后端基礎技術(shù),包括HTML、CSS、JavaScript、JSP、JDBC、JavaBean、Servlet以及MVC模式等主要知識和開發(fā)技術(shù)!禞ava Web程序設計》以簡潔易懂的方式,詳細闡述了各項技術(shù)的基礎概念、內(nèi)涵、使用方法及應用案例。每章都配備了大量的代碼示例,除第1、5章外,均設置了綜合案例,通過實際需求介紹該章技術(shù)的綜合運用,可幫助讀者深入淺出地理解Java Web的技術(shù)內(nèi)涵,循序漸進地掌握Web技術(shù)在實際場景中解決問題的方法。
《Java Web程序設計》不僅適合作為高等院校計算機及相關專業(yè)的教材,也適合Java Web的初學者、自學者、工程師和開發(fā)者閱讀參考。
1.簡潔易懂,內(nèi)容全面,涵蓋了Web開發(fā)的前后端基礎技術(shù),包括HTML、CSS、JavaScript、JSP、JDBC、JavaBean、Servlet以及MVC模式等主要知識和開發(fā)技術(shù)。
2.配有電子課件、知識點視頻、操作視頻、源代碼、習題答案等資源,可幫助讀者深入淺出地理解Java Web的技術(shù)內(nèi)涵,循序漸進地掌握Web技術(shù)在實際場景中解決問題的方法。
前 言
自Internet誕生以來,Web開發(fā)技術(shù)已廣泛應用于互聯(lián)網(wǎng)應用系統(tǒng)開發(fā),成為一種主流的開發(fā)技術(shù)。Java是一種支持跨平臺、開放式的編程語言,由于其擁有開源、跨平臺、可用第三方資源多等特性,已經(jīng)成為業(yè)界主流的編程語言之一。Java Web是實現(xiàn)B/S框架的技術(shù)之一,通常分為前端技術(shù)和后端技術(shù),前端技術(shù)聚焦于構(gòu)建網(wǎng)頁的基礎框架、修飾頁面元素、交互腳本等,后端技術(shù)聚焦于獲取前端數(shù)據(jù)、轉(zhuǎn)發(fā)請求、訪問數(shù)據(jù)庫、劃分業(yè)務模塊等,最終實現(xiàn)完整的Web系統(tǒng)。
《Java Web程序設計》采用前后端技術(shù)同步介紹的方式,第2~4章介紹前端的三種主要技術(shù),第5~11章介紹后端的主要技術(shù),致力于形成一個完整的Java Web技術(shù)框架,幫助讀者深入理解前端與后端技術(shù)的聯(lián)系和區(qū)別。同時,由于Java Web技術(shù)的知識點較多,也較為零散,《Java Web程序設計》以圖書信息管理系統(tǒng)作為綜合案例,貫穿全書,除第1、5章外,每章均以該系統(tǒng)的一個功能作為案例,解析如何綜合運用該章的核心技術(shù),幫助讀者理解技術(shù)的具體運用及實際系統(tǒng)的開發(fā)過程。
《Java Web程序設計》共11章,涵蓋了Web基礎概念與相關協(xié)議、HTML標簽元素與HTML5新特性、CSS、JavaScript腳本、JSP基礎、JSP內(nèi)置對象、JDBC、JavaBean技術(shù)、Servlet技術(shù)、MVC模式與實現(xiàn)以及其他Web常用技術(shù)。配有詳細技術(shù)解析與綜合案例,案例配備了視頻演示與參考代碼資源,可幫助讀者深入掌握技術(shù)的綜合運用與解決實際問題的方法。
第1章介紹了Web的相關概念,主要包括Web的發(fā)展歷史、Web體系結(jié)構(gòu)與請求響應過程、Web相關協(xié)議、主流瀏覽器與內(nèi)核、常用的Web應用服務器等內(nèi)容。
第2章介紹了HTML技術(shù),主要包括HTML的發(fā)展歷史、HTML頁面基本語法、HTML常用標簽、HTML5新特性等內(nèi)容,以及HTML綜合案例后臺管理首頁設計。
第3章介紹了CSS技術(shù),主要包括CSS簡介、CSS的語法與作用方式、CSS的常用樣式、主流的DIV CSS布局設計方法等內(nèi)容,以及CSS綜合案例后臺管理首頁設計。
第4章介紹了JavaScript技術(shù),主要包括JavaScript簡介、JavaScript的基本語法與流程控制、JavaScript函數(shù)定義與使用、JavaScript對象、文檔對象模型、JavaScript事件定義與監(jiān)聽等內(nèi)容,以及JavaScript綜合案例表單內(nèi)容校驗。
第5章介紹了JSP基礎,主要包括JSP語法與注釋、JSP變量和方法的聲明、JSP常用指令標簽,以及JSP中的相對路徑與絕對路徑等內(nèi)容。
第6章介紹了JSP內(nèi)置對象,主要包括JSP內(nèi)置對象的定義與作用原理、常用JSP內(nèi)置對象的簡介與典型應用場景等內(nèi)容,以及JSP綜合案例用戶登錄。
第7章介紹了數(shù)據(jù)庫操作JDBC,主要包括JDBC簡介、JDBC API主要組件、JDBC訪問數(shù)據(jù)庫的主要過程與核心對象、JDBC應用技術(shù)等內(nèi)容,以及JDBC綜合案例圖書查詢管理。
第8章介紹了JavaBean技術(shù),主要包括JavaBean簡介、JavaBean的定義方法、JSP中訪問JavaBean、JavaBean的應用等內(nèi)容,以及JavaBean綜合案例查詢圖書。
第9章介紹了Servlet技術(shù),主要包括Servlet基礎、Servlet的創(chuàng)建與運行、Servlet映射配置、Servlet對象的生命周期與工作過程、JSP頁面與Servlet的交互過程和數(shù)據(jù)傳輸方式等內(nèi)容,以及Servlet綜合案例登錄跳轉(zhuǎn)。
第10章介紹了MVC模式及實現(xiàn),主要包括JSP開發(fā)模式、MVC模式簡介與工作過程、MVC模式在Java Web中的實現(xiàn)方式等內(nèi)容,以及MVC模式綜合案例編輯圖書。
第11章介紹了其他Web常用技術(shù),主要包括Ajax對象的創(chuàng)建、使用與應用場景,Web中文件上傳與下載的實現(xiàn)、EL的基本概念與使用方法、JSTL標簽庫的核心標簽與使用等內(nèi)容,以及JSTL/EL綜合案例圖書查詢展示。
《Java Web程序設計》的第1、2章由蘇曦編寫,第3、4章由張恒鋒編寫,第5章由廖琪編寫,第6章由陳斌全編寫,第8、11章由梁旗軍編寫,其余章節(jié)由楊豐玉編寫,廖琪與蘇曦對全文進行了統(tǒng)一的內(nèi)容校對與格式編輯。
希望《Java Web程序設計》能夠幫助讀者快速了解Java Web開發(fā)的總體框架、開發(fā)流程與前后端主要編程技術(shù),為系統(tǒng)掌握Web系統(tǒng)開發(fā)技術(shù)、理解Web前后端通信技術(shù)和學習高級Web開發(fā)技術(shù)打下堅實的基礎。
感謝各位讀者的閱讀和實踐,由于時間倉促與技術(shù)迭代,書中可能存在一定的不足,歡迎讀者們及時反饋,我們也將不斷改進和完善本書內(nèi)容和案例。
編 者
楊豐玉,2006年畢業(yè)于浙江工業(yè)大學,2018年擔任數(shù)據(jù)科學與技術(shù)系主任,副教授,長期從事軟件工程專業(yè)的教學與科研工作,主要研究方向為軟件測試智能化方法、工業(yè)大數(shù)據(jù)分析與挖掘,并有國外訪學和企業(yè)掛職鍛煉經(jīng)歷。
2006年入校后一直從事軟件工程專業(yè)主干課程教學工作,講授過《Web技術(shù)基礎》、《Web程序設計》、《Web高級編程》、《軟件工程》、《實時計算》等課程,主持完成江西省教改課題4項、全國計算機基礎教研會課題1項,主講的《Web程序設計》課程2019年獲批江西省線上線下混合式一流課程。
先后主持省級科研項目4項,主持參與企業(yè)橫向課題10項,發(fā)表SCI/EI論文30余篇,中文核心以上論文8篇,其中一篇為CSSCI源刊論文,授權(quán)發(fā)明專利6項;獲得江西省教學成果一、二等獎(排名3,4)各1項,全國產(chǎn)學研創(chuàng)新成果獎一項(排名第5),中國計算機實踐教育大會優(yōu)秀論文一等獎1項。
目 錄
前言
第1章 緒論 1
1.1 Web簡介 1
1.1.1 Web的發(fā)展歷史 1
1.1.2 靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁 2
1.2 Web體系結(jié)構(gòu) 3
1.2.1 B/S和C/S 3
1.2.2 Web請求響應過程 5
1.2.3 Web相關技術(shù) 6
1.3 Web相關協(xié)議 8
1.3.1 TCP 8
1.3.2 IP 9
1.3.3 HTTP 9
1.3.4 HTTPS 10
1.3.5 URL 10
1.4 瀏覽器與內(nèi)核 12
1.4.1 瀏覽器簡介 12
1.4.2 內(nèi)核 13
1.4.3 兼容性問題 14
1.5 Web應用服務器 15
1.5.1 Tomcat 15
1.5.2 WebLogic 16
1.5.3 TongWeb 16
1.5.4 Apusic 18
思考題 19
第2章 HTML 20
2.1 HTML簡介 20
2.1.1 HTML 20
2.1.2 HTML發(fā)展歷史 21
2.2 基本語法 21
2.2.1 HTML頁面組成 21
2.2.2 標簽 23
2.2.3 屬性 23
2.3 常用標簽 24
2.3.1 文本格式化 24
2.3.2 超鏈接 25
2.3.3 列表 26
2.3.4 表格 29
2.3.5 表單 33
2.3.6 框架 37
2.3.7 多媒體 40
2.4 HTML5 新特性 42
2.4.1 語義化標簽 42
2.4.2 增強型表單 44
2.5 HTML綜合案例后臺管理
首頁設計 46
思考題 50
第3章 CSS 51
3.1 CSS簡介 51
3.2 CSS語法 52
3.2.1 基本語法 52
3.2.2 選擇器 53
3.2.3 CSS的作用方式 59
3.2.4 樣式的繼承性 61
3.2.5 樣式的層疊 62
3.3 CSS的常用樣式 64
3.3.1 常用取值 64
3.3.2 文本樣式 66
3.3.3 字體樣式 68
3.3.4 背景樣式 69
3.3.5 邊框樣式 70
3.3.6 外邊距與填充樣式 71
3.3.7 其他常用樣式 72
3.4 DIV CSS布局 73
3.4.1 盒模型 73
3.4.2 DIV CSS 布局 74
3.4.3 兩列自適應布局 75
3.4.4 三列自適應布局 78
3.5 CSS綜合案例后臺管理
首頁設計 80
思考題 83
第4章 JavaScript 84
4.1 JavaScript簡介 84
4.2 JavaScript語法 85
4.2.1 語句 85
4.2.2 數(shù)據(jù)類型 85
4.2.3 變量和常量 86
4.3 流程控制 87
4.3.1 選擇 88
4.3.2 循環(huán) 90
4.4 函數(shù) 93
4.4.1 函數(shù)的定義 93
4.4.2 函數(shù)參數(shù) 94
4.5 JavaScript對象 95
4.5.1 面向?qū)ο?95
4.5.2 內(nèi)置對象 97
4.5.3 瀏覽器對象 101
4.6 文檔對象模型 107
4.6.1 節(jié)點關系 108
4.6.2 訪問方法 109
4.6.3 訪問屬性 110
4.6.4 修改元素樣式 111
4.7 JavaScript事件 112
4.7.1 常用事件 112
4.7.2 事件監(jiān)聽機制 116
4.7.3 監(jiān)聽事件 118
4.8 JavaScript綜合案例表單
內(nèi)容校驗 119
思考題 122
第5章 JSP基礎 123
5.1 JSP簡介 123
5.1.1 JSP語法 124
5.1.2 變量和方法的聲明 125
5.2 指令標簽 126
5.2.1 page指令 127
5.2.2 include指令 128
5.2.3 taglib指令 129
5.3 相對路徑與絕對路徑 130
5.3.1 Web資源路徑 130
5.3.2 不同Web資源中的路徑問題 131
思考題 133
第6章 JSP內(nèi)置對象 134
6.1 JSP對象 134
6.1.1 內(nèi)置對象 134
6.1.2 內(nèi)置對象的生成 135
6.2 out對象 136
6.2.1 out簡介 136
6.2.2 out使用示例 136
6.3 request對象 138
6.3.1 request簡介 138
6.3.2 request請求處理 140
6.3.3 request使用示例 141
6.4 response對象 144
6.4.1 response簡介 144
6.4.2 response處理 146
6.4.3 response使用示例 147
6.5 session對象 148
6.5.1 session簡介 148
6.5.2 session生命周期管理 148
6.5.3 session使用示例 149
6.6 application 對象 150
6.6.1 application簡介 150
6.6.2 application使用示例 151
6.7 其他對象 152
6.7.1 pageContext對象 152
6.7.2 page對象 153
6.7.3 config對象 153
6.7.4 exception對象 153
6.8 JSP綜合案例用戶登錄 154
思考題 157
第7章 數(shù)據(jù)庫操作JDBC 158
7.1 JDBC簡介 158
7.1.1 JDBC概念 158
7.1.2 JDBC結(jié)構(gòu) 158
7.1.3 JDBC API主要組件 159
7.2 JDBC訪問數(shù)據(jù)庫 160
7.2.1 訪問過程 160
7.2.2 Connection 162
7.2.3 Statement 163
7.2.4 ResultSet 166
7.3 JDBC應用技術(shù) 168
7.3.1 數(shù)據(jù)分頁瀏覽 168
7.3.2 連接池技術(shù) 171
7.4 JDBC綜合案例圖書
查詢管理 175
思考題 178
第8章 JavaBean技術(shù) 179
8.1 JavaBean簡介 179
8.2 JSP中訪問JavaBean 180
8.2.1 讀取JavaBean屬性值 180
8.2.2 修改JavaBean屬性值 181
8.3 JavaBean的應用 182
8.3.1 數(shù)據(jù)JavaBean 183
8.3.2 業(yè)務JavaBean 184
8.3.3 輔助工具JavaBean 185
8.4 JavaBean綜合案例
查詢圖書 186
思考題 191
第9章 Servlet技術(shù) 192
9.1 Servlet基礎 192
9.1.1 Servlet概念 192
9.1.2 Servlet規(guī)范解析 193
9.1.3 Servlet的創(chuàng)建與運行 196
9.1.4 Servlet映射配置 197
9.2 Servlet原理 201
9.2.1 Servlet對象的生命周期 201
9.2.2 Servlet工作過程 201
9.2.3 Tomcat的容器模型 202
9.3 JSP頁面與Servlet交互 203
9.3.1 JSP轉(zhuǎn)向至Servlet 203
9.3.2 Servlet轉(zhuǎn)向至JSP 203
9.3.3 JSP的本質(zhì) 206
9.4 Servlet綜合案例
登錄跳轉(zhuǎn) 209
思考題 213
第10章 MVC模式及實現(xiàn) 214
10.1 Web開發(fā)模式 214
10.1.1 開發(fā)模式 214