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