本書以JSP網(wǎng)站設(shè)計為主, 以大量的實例介紹JSP程序設(shè)計的基本思想、方法和技術(shù), 同時以大量的工程實踐環(huán)節(jié)鞏固JSP網(wǎng)站設(shè)計的方法和技術(shù)。全書共包括11章, 包括Web前端基礎(chǔ)、JSP簡介及開發(fā)環(huán)境的構(gòu)建、JSP語法、JSP內(nèi)置對象、JSP與JavaBean、JSP訪問數(shù)據(jù)庫、Java Servlet、過濾器、EL與JSTL、文件的上傳與下載以及地址簿管理信息系統(tǒng)。
Web網(wǎng)站工程師基礎(chǔ)課程
動態(tài)網(wǎng)頁設(shè)計開發(fā)必修經(jīng)典課程
實戰(zhàn)任務(wù)驅(qū)動,教學(xué)做一體化式講解
全新升級版本
配套電子課件、源代碼以及實踐環(huán)節(jié)與課后習題的參考答案
盡管已經(jīng)有許多針對本科生的Java Web開發(fā)教材,但大部分教材仍側(cè)重講授知識,而且非常注重知識的系統(tǒng)性,使教材知識體系結(jié)構(gòu)過于全面、龐大。目前,讓學(xué)生盡快掌握最有用的知識,并盡可能地挖掘他們使用這些知識解決實際問題的能力是非常重要的,一旦做到這一點,就容易培養(yǎng)學(xué)生自主學(xué)習的能力,相對羅列大量知識的講授起到事半功倍的效果。許多教師在教學(xué)過程中,非常希望教材本身能引導(dǎo)學(xué)生盡可能地參與教學(xué)活動,因此本書的重點不是簡單地介紹Java Web開發(fā)的基礎(chǔ)知識,而是大量的實例與實踐環(huán)節(jié),讀者通過本書可以快速提高Java Web應(yīng)用的開發(fā)能力。
全書共11章。第1章概括地介紹Web前端的基礎(chǔ)知識,包括HTML、CSS與JavaScript。第2章介紹JSP運行環(huán)境的構(gòu)建,并通過一個簡單的Web應(yīng)用講解Java Web開發(fā)的基本步驟。第3章講述JSP語法,包括Java腳本元素以及常用的JSP標記。第4章介紹常見的JSP內(nèi)置對象,包括request、response、session以及application。第5章介紹JSP與JavaBean,JSP和JavaBean技術(shù)的結(jié)合不僅可以實現(xiàn)數(shù)據(jù)的表示和處理分離,而且可以提高代碼重用的程度。第6章詳細地介紹在JSP中如何訪問關(guān)系數(shù)據(jù)庫,如Oracle、SQL Server、MySQL和Microsoft Access等。第7章講述Servlet的運行原理以及基于Servlet的MVC模式,是本書的重點內(nèi)容之一。第8章詳細地講述過濾器的概念、運行原理以及實際應(yīng)用。過濾器可以過濾瀏覽器對服務(wù)器的請求,也可以過濾服務(wù)器對瀏覽器的響應(yīng)。第9章主要介紹EL與JSTL核心標簽庫的基本用法。第10章重點介紹Servlet 3.0中的HttpServletRequest對文件上傳的支持。第11章是本書的重點內(nèi)容之一,將前面章節(jié)的知識進行全面綜合,詳細講解一個基于Servlet MVC模式的地址簿管理信息系統(tǒng)的開發(fā)過程。
本書特別注重引導(dǎo)學(xué)生參與課堂教學(xué)活動,適合作為大學(xué)計算機及相關(guān)專業(yè)的教材或教學(xué)參考書,也適合作為Java Web開發(fā)人員的參考用書。
為了便于教學(xué),本書配有教學(xué)課件、源代碼以及實踐環(huán)節(jié)與課后習題參考答案,讀者可從清華大學(xué)出版社網(wǎng)站免費下載。
由于編者水平有限,書中難免存在疏漏之處,敬請廣大讀者給予批評指正。
編者
2017年5月
第1章Web前端基礎(chǔ)
1.1HTML
1.1.1核心知識
1.1.2能力目標
1.1.3任務(wù)驅(qū)動
1.1.4實踐環(huán)節(jié)
1.2CSS
1.2.1核心知識
1.2.2能力目標
1.2.3任務(wù)驅(qū)動
1.2.4實踐環(huán)節(jié)
1.3JavaScript
1.3.1核心知識
1.3.2能力目標
1.3.3任務(wù)驅(qū)動
1.3.4實踐環(huán)節(jié)
1.4小結(jié)
習題1
第2章JSP簡介及開發(fā)環(huán)境的構(gòu)建
2.1構(gòu)建開發(fā)環(huán)境
2.1.1核心知識
2.1.2能力目標
2.1.3任務(wù)驅(qū)動
2.1.4實踐環(huán)節(jié)
2.2使用Eclipse開發(fā)Web應(yīng)用
2.2.1核心知識
2.2.2能力目標
2.2.3任務(wù)驅(qū)動
2.2.4實踐環(huán)節(jié)
2.3小結(jié)
習題2
第3章JSP語法
3.1JSP頁面的基本構(gòu)成
〖2〗〖4〗
JSP網(wǎng)站設(shè)計
目錄〖3〗
3.1.1核心知識
3.1.2能力目標
3.1.3任務(wù)驅(qū)動
3.1.4實踐環(huán)節(jié)
3.2Java程序片
3.2.1核心知識
3.2.2能力目標
3.2.3任務(wù)驅(qū)動
3.2.4實踐環(huán)節(jié)
3.3成員變量和方法的聲明
3.3.1核心知識
3.3.2能力目標
3.3.3任務(wù)驅(qū)動
3.3.4實踐環(huán)節(jié)
3.4Java表達式
3.4.1核心知識
3.4.2能力目標
3.4.3任務(wù)驅(qū)動
3.4.4實踐環(huán)節(jié)
3.5page指令標記
3.5.1核心知識
3.5.2能力目標
3.5.3任務(wù)驅(qū)動
3.5.4實踐環(huán)節(jié)
3.6include指令標記
3.6.1核心知識
3.6.2能力目標
3.6.3任務(wù)驅(qū)動
3.6.4實踐環(huán)節(jié)
3.7include動作標記
3.7.1核心知識
3.7.2能力目標
3.7.3任務(wù)驅(qū)動
3.7.4實踐環(huán)節(jié)
3.8forward動作標記
3.8.1核心知識
3.8.2能力目標
3.8.3任務(wù)驅(qū)動
3.8.4實踐環(huán)節(jié)
3.9param動作標記
3.9.1核心知識
3.9.2能力目標
3.9.3任務(wù)驅(qū)動
3.9.4實踐環(huán)節(jié)
3.10小結(jié)
習題3
第4章JSP內(nèi)置對象
4.1請求對象request
4.1.1核心知識
4.1.2能力目標
4.1.3任務(wù)驅(qū)動
4.1.4實踐環(huán)節(jié)
4.2應(yīng)答對象response
4.2.1核心知識
4.2.2能力目標
4.2.3任務(wù)驅(qū)動
4.2.4實踐環(huán)節(jié)
4.3會話對象session
4.3.1核心知識
4.3.2能力目標
4.3.3任務(wù)驅(qū)動
4.3.4實踐環(huán)節(jié)
4.4全局應(yīng)用程序?qū)ο骯pplication
4.4.1核心知識
4.4.2能力目標
4.4.3任務(wù)驅(qū)動
4.4.4實踐環(huán)節(jié)
4.5小結(jié)
習題4
第5章JSP與JavaBean
5.1編寫JavaBean
5.1.1核心知識
5.1.2能力目標
5.1.3任務(wù)驅(qū)動
5.1.4實踐環(huán)節(jié)
5.2JSP中使用JavaBean
5.2.1核心知識
5.2.2能力目標
5.2.3任務(wù)驅(qū)動
5.2.4實踐環(huán)節(jié)
5.3小結(jié)
習題5
第6章JSP訪問數(shù)據(jù)庫
6.1使用JDBCODBC橋接器連接數(shù)據(jù)庫
6.1.1核心知識
6.1.2能力目標
6.1.3任務(wù)驅(qū)動
6.1.4實踐環(huán)節(jié)
6.2使用純Java數(shù)據(jù)庫驅(qū)動程序連接數(shù)據(jù)庫
6.2.1核心知識
6.2.2能力目標
6.2.3任務(wù)驅(qū)動
6.2.4實踐環(huán)節(jié)
6.3Statement、ResultSet的使用
6.3.1核心知識
6.3.2能力目標
6.3.3任務(wù)驅(qū)動
6.3.4實踐環(huán)節(jié)
6.4游動查詢
6.4.1核心知識
6.4.2能力目標
6.4.3任務(wù)驅(qū)動
6.4.4實踐環(huán)節(jié)
6.5訪問Excel電子表格
6.5.1核心知識
6.5.2能力目標
6.5.3任務(wù)驅(qū)動
6.5.4實踐環(huán)節(jié)
6.6使用連接池
6.6.1核心知識
6.6.2能力目標
6.6.3任務(wù)驅(qū)動
6.6.4實踐環(huán)節(jié)
6.7其他典型數(shù)據(jù)庫的連接
6.7.1核心知識
6.7.2能力目標
6.7.3任務(wù)驅(qū)動
6.7.4實踐環(huán)節(jié)
6.8PreparedStatement的使用
6.8.1核心知識
6.8.2能力目標
6.8.3任務(wù)驅(qū)動
6.8.4實踐環(huán)節(jié)
6.9小結(jié)
習題6
第7章Java Servlet
7.1Servlet類與servlet對象
7.1.1核心知識
7.1.2能力目標
7.1.3任務(wù)驅(qū)動
7.1.4實踐環(huán)節(jié)
7.2servlet對象的創(chuàng)建與運行
7.2.1核心知識
7.2.2能力目標
7.2.3任務(wù)驅(qū)動
7.2.4實踐環(huán)節(jié)
7.3通過JSP頁面訪問Servlet
7.3.1核心知識
7.3.2能力目標
7.3.3任務(wù)驅(qū)動
7.3.4實踐環(huán)節(jié)
7.4doGet和doPost方法
7.4.1核心知識
7.4.2能力目標
7.4.3任務(wù)驅(qū)動
7.4.4實踐環(huán)節(jié)
7.5重定向與轉(zhuǎn)發(fā)
7.5.1核心知識
7.5.2能力目標
7.5.3任務(wù)驅(qū)動
7.5.4實踐環(huán)節(jié)
7.6在Servlet中使用session
7.6.1核心知識
7.6.2能力目標
7.6.3任務(wù)驅(qū)動
7.6.4實踐環(huán)節(jié)
7.7基于Servlet的MVC模式
7.7.1核心知識
7.7.2能力目標
7.7.3任務(wù)驅(qū)動
7.7.4實踐環(huán)節(jié)
7.8小結(jié)
習題7
第8章過濾器
8.1Filter類與filter對象
8.1.1核心知識
8.1.2能力目標
8.1.3任務(wù)驅(qū)動
8.1.4實踐環(huán)節(jié)
8.2filter對象的部署與運行
8.2.1核心知識
8.2.2能力目標
8.2.3任務(wù)驅(qū)動
8.2.4實踐環(huán)節(jié)
8.3過濾器的應(yīng)用
8.3.1核心知識
8.3.2能力目標
8.3.3任務(wù)驅(qū)動
8.3.4實踐環(huán)節(jié)
8.4小結(jié)
習題8
第9章EL與JSTL
9.1表達式語言EL
9.1.1核心知識
9.1.2能力目標
9.1.3任務(wù)驅(qū)動
9.1.4實踐環(huán)節(jié)
9.2JSP標準標簽庫JSTL
9.2.1核心知識
9.2.2能力目標
9.2.3任務(wù)驅(qū)動
9.2.4實踐環(huán)節(jié)
9.3小結(jié)
習題9
第10章文件的上傳與下載
10.1基于Servlet 3.0的文件上傳
10.1.1核心知識
10.1.2能力目標
10.1.3任務(wù)驅(qū)動
10.1.4實踐環(huán)節(jié)
10.2文件的下載
10.2.1核心知識
10.2.2能力目標
10.2.3任務(wù)驅(qū)動
10.2.4實踐環(huán)節(jié)
10.3小結(jié)
習題10
第11章地址簿管理信息系統(tǒng)
11.1系統(tǒng)設(shè)計
11.1.1系統(tǒng)功能需求
11.1.2系統(tǒng)模塊劃分
11.2數(shù)據(jù)庫設(shè)計
11.2.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計
11.2.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計
11.2.3創(chuàng)建數(shù)據(jù)表
11.3系統(tǒng)管理
11.3.1導(dǎo)入相關(guān)的jar包
11.3.2JSP頁面管理
11.3.3組件與Servlet管理
11.4組件設(shè)計
11.4.1過濾器
11.4.2數(shù)據(jù)庫操作
11.4.3實體模型
11.4.4業(yè)務(wù)模型
11.5系統(tǒng)實現(xiàn)
11.5.1用戶注冊
11.5.2用戶登錄
11.5.3添加朋友信息
11.5.4查詢朋友信息
11.5.5查看詳情
11.5.6修改朋友信息
11.5.7刪除朋友信息
11.5.8修改密碼
11.5.9退出系統(tǒng)
參考文獻
HTML的英文全稱是Hyper Text Markup Language,即超文本標記語言,它是Internet上用于編寫網(wǎng)頁的主要標記語言。
CSS是英文Cascading Style Sheet的縮寫,又稱為“層疊樣式表”,簡稱為樣式表。它是W3C定義的標準,一種用來為結(jié)構(gòu)化文檔(如HTML文檔)添加樣式(字體、間距和背景等)的計算機語言。CSS是對HTML處理樣式的補充,能將內(nèi)容和樣式處理相分離,大大降低了工作量。
JavaScript是一種描述性的腳本語言(Script Language),它由客戶端瀏覽器解釋執(zhí)行,執(zhí)行期間無須Web服務(wù)器,減輕了Web服務(wù)器的負擔。JavaScript可以向HTML頁面添加交互行為、讀寫元素、驗證表單以及事件處理。
1.1HTML
1.1.1核心知識
1. HTML文件的基本結(jié)構(gòu)
一個完整的HTML文件由各種元素與標記組成,包括標題、段落、表格、文本和超鏈接等。下面是一個HTML文件的基本結(jié)構(gòu)。
…
從上面的代碼段可以看出,HTML文件的基本結(jié)構(gòu)分為3部分,其中各部分含義如下。
...: 表示HTML文件開始和結(jié)束的位置,里面包括head和body等標記。HTML文件中所有的內(nèi)容都應(yīng)該在這兩個標記之間。
...: HTML文件的頭部標記,習慣將這兩個標記之間的內(nèi)容統(tǒng)稱為HTML的頭部。
...: 用來指明文檔的主體區(qū)域,網(wǎng)頁所要顯示的內(nèi)容都要放置在這個標記內(nèi)。習慣將這兩個標記之間的內(nèi)容統(tǒng)稱為HTML的主體。
2. 編寫HTML頁面
編寫HTML頁面有兩種常用方法: 一種是利用操作系統(tǒng)自帶的記事本編寫; 另一種是利用可視化網(wǎng)頁制作軟件(如Dreamweaver)編寫。本書從第2章開始使用集成開發(fā)環(huán)境(IDE)Eclipse編寫Web程序。
HTML、CSS與JavaScript并不需要特殊的開發(fā)環(huán)境,它們都是由客戶端的瀏覽器執(zhí)行。HTML文件的擴展名為.html或.htm,CSS文件的擴展名為.css,JavaScript文件的擴展名為.js。
3. 常用HTML標記
常用HTML標記簡單劃分為以下4種格式。
(1) <標記名稱>:
單一型,無設(shè)置值。例如:
。
(2) <標記名稱 屬性="屬性值">:
單一型,有設(shè)置值。例如: 。
(3) <標記名稱>...:
對稱型,無設(shè)置值。例如: 。
(4) <標記名稱 屬性="屬性值">...:
對稱型,有設(shè)置值。例如: ...。
下面介紹常用的HTML標記。
……