本書詳細地介紹了實現(xiàn)一個Java Web項目所必需的技術,主要包括前端技術、后端技術和架構技術。全書共9章分為5個部分,第1部分概括性地介紹Java Web項目所需技術、架構和集成化編程環(huán)境;第2部分介紹HTML、CSS、JavaScript、JQuery等前端編程技術;第3部分介紹控制器Servlet技術、動態(tài)網(wǎng)頁JSP技術、組件JavaBean技術、數(shù)據(jù)庫訪問JDBC技術、持久化框架Hibernate等后端技術;第4部分介紹Java Web的分層架構、設計模式和MVC框架技術Struts 2;第5部分詳細描述了一個完整的基于MVC的電子商務系統(tǒng)的項目案例。本書附有實驗指導及習題,并提供配套的例題、案例、項目源碼、PPT和演示視頻等電子資料。
全書圍繞項目主線組織內(nèi)容,將理論和實踐有機結合,充分體現(xiàn)了項目驅動、案例教學、理論實踐一體化的教學方法。書中的教學案例和章后的實驗指導的設計按照層層遞進、逐步深入的方式推進,*后形成了兩個獨立的Web項目。
本書可作為計算機、軟件工程、信息管理等相關專業(yè)的教材,也適合作為Java Web編程技術的培訓教材。
《Java Web編程技術(高等院校信息技術規(guī)劃教材)》由年年授課獲質量優(yōu)秀獎的教師精心編寫,以向面就業(yè)、項目驅動、案例教學、理論實踐一體化為理念,圍繞一個MVC Web項目所需的知識來組織內(nèi)容,包括前端技術、后端技術和架構技術。本書在每一章后面附有實驗指導,并提供了配套的例題、案例、項目源代碼、PPT和演示視頻等電子資源。
序言
Java Web編程技術是目前最流行的編程技術,也是計算機、軟件工程、信息管理等專業(yè)的專業(yè)核心課程之一。Web應用開發(fā)又稱為互聯(lián)網(wǎng)應用開發(fā),可分為前端開發(fā)、后端開發(fā)和數(shù)據(jù)庫開發(fā),涉及的技術比較多。前端開發(fā)技術主要有HTML、CSS、JavaScript、JQuery、JSON等,后端開發(fā)技術主要有控制器Servlet技術、動態(tài)網(wǎng)頁JSP技術、組件JavaBean技術、數(shù)據(jù)庫訪問JDBC技術、持久化框架Hibernate等。在企業(yè)級Java Web開發(fā)中還涉及到架構的設計、設計模式等知識,MVC設計模式已成為工程事實標準,Struts 2框架是MVC最流行的框架技術。完成一個Web項目需要多門課程的知識,如Java語言程序設計、信息系統(tǒng)分析與設計、軟件工程、數(shù)據(jù)庫原理、網(wǎng)站設計等,因此Web程序設計是一門綜合性、實踐性非常強的課程,充分體現(xiàn)了編程能力、創(chuàng)新能力和綜合知識運用能力,是畢業(yè)設計、就業(yè)、創(chuàng)新創(chuàng)業(yè)的重要利器。市場上關于Web程序設計的書籍很多,但真正能突出實踐和實用性的不多,為此,我們在多年教學實踐和教學改革的基礎上編寫了本教材。2. 本書指導思想及特色 本書采用面向就業(yè)、項目驅動、案例教學、理論與實踐融為一體的原則對內(nèi)容進行了合理編排,重點突出了課程的綜合性和實踐性。全書以實現(xiàn)Java工程師、Web工程師、前端開發(fā)工程師、Java后端開發(fā)工程師等崗位的要求為培養(yǎng)目標,以基于MVC的Web項目為主線,貼近工程、注重實踐,融教、學、做為一體。本書介紹的內(nèi)容均是主流的技術、框架、思想和工具,可與實際工程無縫對接。本書采用項目驅動和案例教學方式,通過三個獨立的項目完成主要知識體系的學習,主要特點如下:(1) 教學知識體系圍繞用戶管理系統(tǒng)展開,從項目的搭建,前端靜態(tài)網(wǎng)頁設計(HTML、CSS),表單JS驗證,登錄權限系統(tǒng)(Servlet),動態(tài)網(wǎng)頁設計(JSP),用戶實體Bean和用戶管理業(yè)務Bean的編寫,用戶管理的增、刪、改、查等數(shù)據(jù)庫操作(JDBC和Hibernate)和MVC架構設計(MVC和Struts 2)等方面來介紹所需的知識和演示操作。(2) 實驗指導環(huán)節(jié)圍繞新聞/信息發(fā)布系統(tǒng)來展開,包括編程環(huán)境搭建,前臺三個靜態(tài)模板編寫(主頁模板、欄目模板、內(nèi)容模板),登錄權限控制,動態(tài)網(wǎng)頁設計(靜態(tài)模板改動態(tài)網(wǎng)頁 信息發(fā)布頁面),登錄控制器的映射,新聞/信息實體Bean,新聞/信息業(yè)務Bean,動態(tài)驗證碼,上傳下載功能,信息/新聞管理的增、刪、改、查數(shù)據(jù)庫操作,MVC架構等,最終完成一個完整的信息/新聞發(fā)布系統(tǒng)。(3) 最后一章通過一個完整的誠信電子商務系統(tǒng)的分析與設計過程,再次讓讀者加深課程知識的學習和靈活運用,為課程設計、畢業(yè)設計提供參考。本書每章的項目實踐和實驗環(huán)節(jié)的模板是一脈相承的遞進關系,學完本書將可以獨立完成一個Web項目。本書所有案例和項目均來自工程實踐,并附有源代碼等電子資料,便于教學,也適合讀者自行研讀!鬔ava Web編程技術前言3. 本書內(nèi)容全書共9章分為5個部分。第一部分: 第1、2章,第二部分: 第3章,第三部分: 第4~7章,第四部分: 第8章,第五部分: 第9章。第1章Web編程技術概述。首先介紹當前編程的兩種體系: C/S和B/S體系。Web編程屬B/S體系,是主流的編程體系;然后介紹Web編程前端和后端的常用技術;最后介紹Web編程的常用架構和設計模式,旨在使讀者從最初就要重視軟件分層和采用合適的設計模式(如MVC),理解這一點對后繼的學習有很大幫助。第2章Web開發(fā)環(huán)境。本章主要介紹Web項目涉及到的開發(fā)工具或軟件以及開發(fā)流程,包括JDK的安裝和配置、Web服務器Tomcat的安裝與配置、數(shù)據(jù)庫MySQL的安裝與配置、集成開發(fā)環(huán)境MyEclipse的安裝與配置。著重介紹Java Web項目的開發(fā)流程,包括網(wǎng)頁、Java源碼的存放位置、分包原則、部署、服務器的啟動和網(wǎng)頁瀏覽等步驟。第3章Web編程基礎。本章介紹Web前端編程的HTML、CSS、JavaScript和JQuery技術,在MVC中屬于視圖(View)技術。HTML是前端開發(fā)基礎,HTML 5是最新版本,在移動端開發(fā)極具優(yōu)勢。CSS是層疊樣式表,是W3C推薦的技術,DIV CSS布局是網(wǎng)站布局的主流技術。JavaScript是Web前端編程主要語言,是實現(xiàn)用戶交互,提高用戶體驗的主要技術。JQuery是JavaScript主要框架,可簡化JS的開發(fā)。第4章Servlet編程技術。Servlet技術是Sun公司最早推出的Web技術,是JSP技術的基礎,在MVC中屬控制器(Controller)技術。本章介紹Servlet的生命周期,體系結構,常用接口HttpRequest、HttpResponse和HttpSession,會話跟蹤,基于Session的登錄權限控制系統(tǒng)。第5章JSP編程技術。JSP本質仍是Servlet,但在網(wǎng)頁的設計上有重大改進,在MVC中屬視圖(View)技術。本章介紹JSP頁面結構、JSP的編譯指令、動作標記和腳本元素;還介紹了JSP的內(nèi)置對象out、request、response、session、application和cookie對象。第6章JavaBean編程技術。為了提高軟件的可重用性,一般采用組件技術,Java主要是JavaBean和EJB技術,在MVC中屬模型(Model)技術。本章介紹JavaBean的特點和規(guī)范;介紹JSP的JavaBean標記、JavaBean的使用和映射技術;以及實體Bean、業(yè)務Bean、工具Bean的編寫以及常用第三方JavaBean的使用。第7章JDBC數(shù)據(jù)庫編程與Hibernate技術。Web編程必然涉及到數(shù)據(jù)庫訪問,JDBC是Java 數(shù)據(jù)庫訪問技術,在MVC中屬模型技術。本章介紹JDBC訪問數(shù)據(jù)庫的常用類和接口: Connection、Statement和ResultSet,JDBC訪問數(shù)據(jù)庫的一般流程和步驟,常用的數(shù)據(jù)庫增、刪、改、查操作案例、分頁技術、事務處理流程、連接池技術等。本章還介紹持久化的概念、ORM的概念和原理、Hibernate的開發(fā)過程和操作數(shù)據(jù)庫(增、刪、改、查)實例。第8章Web編程架構與Struts 2框架。Web編程是一個典型的分布式系統(tǒng),有必要了解分布式計算的體系結構、Web編程的軟件分層架構、Web編程的設計模式。本章介紹分布式的體系結構、軟件分層架構和Web設計模式,重點介紹模式1和模式2,以及實現(xiàn)模式2(MVC)的兩種方法,同時還介紹最流行的Struts 2框架技術。第9章誠信電子商務系統(tǒng)。本章詳細介紹一個基于MVC 的電子商務系統(tǒng)的實現(xiàn)過程,包括需求分析、架構設計、總體設計、數(shù)據(jù)庫設計、前臺設計與實現(xiàn)、后臺功能設計與實現(xiàn)等。4. 本書編寫情況說明本書由郭路生、楊選輝擬訂大綱并擔任主編。第1、2章由劉春年編寫、第4~7章由郭路生編寫,第3、8、9章由楊選輝、魏鶯編寫。本書的出版得到了南昌大學教學改革立項項目的資助。由于作者水平有限,書中難免有不足和錯誤之處,敬請讀者批評指正。
作者2016年10月
目錄Contents
第1章Web編程技術概述1
1.1編程體系簡介1
1.1.1C/S架構1
1.1.2B/S架構2
1.2瀏覽器端編程技術3
1.2.1HTML3
1.2.2CSS4
1.2.3JavaScript4
1.3服務器端編程技術5
1.3.1JSP技術5
1.3.2Servlet技術7
1.3.3JavaBean和EJB技術8
1.3.4JDBC數(shù)據(jù)庫訪問技術9
1.4Web編程架構10
1.4.1企業(yè)級應用的開發(fā)架構10
1.4.2Web編程設計模式11
習題16
第2章Web開發(fā)環(huán)境17
2.1JDK開發(fā)工具包17
2.1.1JDK的安裝17
2.1.2JDK的配置17
2.2Tomcat Web服務器19
2.2.1下載和安裝Tomcat19
2.2.2Tomcat的目錄結構22
2.2.3第一個JSP頁面23
2.2.4配置Tomcat242.3集成開發(fā)環(huán)境介紹26
2.3.1Eclipse簡介26
2.3.2安裝MyEclipse集成環(huán)境27
2.3.3配置MyEclipse 9.0的JDK和Tomcat環(huán)境29
2.3.4MyEclipse開發(fā)視圖介紹30
2.3.5項目實踐開發(fā)Web應用程序32
2.4安裝和配置數(shù)據(jù)庫36
2.5實驗指導39
習題41
◆Java Web編程技術目錄第3章Web編程基礎42
3.1HTML標記語言42
3.1.1HTML簡介42
3.1.2HTML的基本概念44
3.1.3HTML的常用標記47
3.2HTML的框架標記58
3.3CSS樣式表61
3.3.1CSS概念61
3.3.2CSS基本規(guī)則62
3.3.3CSS的創(chuàng)建64
3.3.4選擇符66
3.3.5CSS樣式72
3.3.6框模型77
3.3.7定位與浮動79
3.3.8DIV+CSS網(wǎng)頁布局83
3.3.9項目實戰(zhàn)誠信電子商務網(wǎng)店的頁面布局85
3.4JavaScript編程89
3.4.1概述89
3.4.2在網(wǎng)頁中引入JavaScript90
3.4.3JavaScript基本語法91
3.4.4JavaScript對象93
3.4.5瀏覽器內(nèi)部對象與DOM模型95
3.4.6JavaScript事件102
3.4.7JavaScript框架(庫)jQuery104
3.4.8JavaScript的典型應用106
3.5實驗指導112
習題117
第4章Servlet編程技術118
4.1Servlet概述118
4.1.1Servlet的基本概念118
4.1.2Servlet的功能119
4.1.3Servlet技術的特點119
4.1.4Servlet的生命周期120
4.2Servlet的創(chuàng)建、配置和調(diào)用121
4.2.1Servlet的創(chuàng)建121
4.2.2Servlet的文件框架122
4.2.3Servlet的配置124
4.2.4Servelt的運行126
4.3Servlet的常用接口及使用126
4.3.1Servlet的體系126
4.3.2Servlet請求和響應接口127
4.3.3Servlet環(huán)境API接口133
4.3.4Servlet的請求轉發(fā)接口138
4.3.5Servlet會話跟蹤接口142
4.4項目實戰(zhàn)登錄與權限系統(tǒng)144
4.5實驗指導148
習題149
第5章JSP編程技術150
5.1JSP概述150
5.1.1JSP簡介150
5.1.2理解JSP程序的執(zhí)行151
5.2JSP頁面元素152
5.2.1JSP頁面的基本結構152
5.2.2JSP的腳本元素153
5.2.3JSP的注釋156
5.2.4JSP的指令157
5.2.5JSP的動作標記164
5.3JSP內(nèi)置對象171
5.3.1內(nèi)置對象的作用范圍171
5.3.2out對象174
5.3.3request對象175
5.3.4response對象182
5.3.5session對象184
5.3.6application對象184
5.3.7其他內(nèi)置對象186
5.3.8Cookie對象188
5.4項目實戰(zhàn)基于Cookie的權限控制模塊189
5.5實驗指導193
習題198
第6章JavaBean技術199
6.1JavaBean概述199
6.1.1組件技術與JavaBean199
6.1.2JavaBean的分類與特點200
6.1.3JavaBean規(guī)范200
6.2JavaBean編程201
6.2.1編寫JavaBean201
6.2.2使用JavaBean202
6.2.3封裝業(yè)務邏輯的JavaBean210
6.3實用的第三方JavaBean組件216
6.3.1使用JspSmartUpload實現(xiàn)文件上傳與下載216
6.3.2使用java Mail組件發(fā)送郵件222
6.3.3使用POI組件生成Excel報表230
6.4實驗指導231
習題234
第7章JDBC數(shù)據(jù)庫編程與Hibernate技術235
7.1JDBC概述235
7.1.1JDBC簡介235
7.1.2JDBC驅動程序的類型236
7.2JDBC連接數(shù)據(jù)庫常用類237
7.2.1JDBC API所在的包237
7.2.2JDBC核心類的結構及操作流程237
7.2.3驅動程序管理類: DriverManager238
7.2.4數(shù)據(jù)庫連接類: Connection242
7.2.5SQL聲明類: Statement類243
7.2.6查詢結果集: ResultSet249
7.3JDBC操作數(shù)據(jù)庫實例250
7.3.1新建數(shù)據(jù)庫250
7.3.2數(shù)據(jù)Bean和業(yè)務邏輯Bean251
7.3.3插入數(shù)據(jù)注冊254
7.3.4顯示數(shù)據(jù)256
7.3.5分頁顯示數(shù)據(jù)258
7.3.6修改數(shù)據(jù)261
7.3.7刪除數(shù)據(jù)264
7.4事務處理265
7.4.1事務及處理事務的方法265
7.4.2事務處理的流程266
7.5數(shù)據(jù)庫連接池267
7.5.1概述267
7.5.2通過Tomcat連接池連接數(shù)據(jù)庫268
7.6Hibernate操作數(shù)據(jù)庫271
7.6.1基本概念271
7.6.2Hibernate的映射機制272
7.6.3Hibernate的開發(fā)過程273
7.6.4使用Hibernate操作數(shù)據(jù)庫278
7.7實驗指導286
習題294
第8章Web編程架構與Struts 2框架295
8.1分布式計算的體系結構295
8.1.1單級結構295
8.1.2兩級結構296
8.1.3三級結構296
8.1.4N級結構297
8.2軟件邏輯分層結構297
8.2.1兩層結構298
8.2.2三層結構298
8.3JSP設計模式300
8.3.1模式1: JSP JavaBean實現(xiàn)300
8.3.2模式2: 基于MVC模式的實現(xiàn)304
8.4Struts 2框架技術308
8.4.1Struts 2體系結構308
8.4.2Struts 2配置310
8.4.3Action的編寫312
8.4.4Struts 2應用實例315
8.5實驗指導316
習題317
第9章誠信電子商務系統(tǒng)318
9.1系統(tǒng)概述318
9.2系統(tǒng)分析318
9.2.1需求分析318
9.2.2業(yè)務實體說明319
9.3總體設計320
9.3.1項目規(guī)劃320
9.3.2系統(tǒng)功能結構圖320
9.3.3系統(tǒng)架構設計320
9.4數(shù)據(jù)庫邏輯結構設計321
9.5公共模塊設計324
9.5.1編程工具324
9.5.2通用數(shù)據(jù)庫操作類325
9.5.3實用工具類325
9.6系統(tǒng)前臺主要功能模塊設計327
9.6.1系統(tǒng)前臺公共頁面327
9.6.2商品展示模塊設計329
9.6.3會員注冊與登錄模塊設計337
9.6.4購物車模塊設計342
9.6.5訂單模塊設計346
9.7系統(tǒng)后臺設計351
9.7.1系統(tǒng)管理員登錄模塊設計352
9.7.2商品管理及商品分類管理模塊353
9.7.3訂單管理模塊設計357
9.7.4留言管理模塊設計358
9.7.5公告管理模塊設計359
9.7.6會員管理模塊設計359
習題360
參考文獻361