由卓國鋒和郭朗共同主編的《Java Web企業(yè)項目實戰(zhàn)》一書通過項目實戰(zhàn)的方式詳細介紹了*新的 Java Web應(yīng)用的開發(fā)技術(shù)。本書的重點放在了JSP的基礎(chǔ)知識和實際應(yīng)用方面,注重理論與實踐相結(jié)合。
書中的項目來源于作者所在公司的實戰(zhàn)項日,并提供了詳細的開發(fā)步驟,在進行項目開發(fā)的同時講解了項目開發(fā)中所需要的基礎(chǔ)知識。書中各章節(jié)的知識和模塊開發(fā)是相互關(guān)聯(lián)的,建議讀者按照書中的章節(jié)順序進行學(xué)習(xí),讀者只要按照步驟進行操作就基本可以掌握Java web開發(fā)的基礎(chǔ)知識。
本書由經(jīng)驗豐富的教師和工程師編寫,書中附有項目部分源代碼,供讀者學(xué)習(xí)參考。本書語言深入淺出,通俗易懂,可以作為高校項目化教學(xué)的教材,也可供Java web開發(fā)的新手閱讀。
Foreword親愛的讀者朋友,感謝您獨具慧眼選擇了本書。本書通過項目開發(fā)實戰(zhàn)向您充分展示出Java開發(fā)技術(shù)的神奇魅力,且會帶您快速、輕松地進入Java Web的開發(fā)領(lǐng)域。項目化教學(xué)是目前比較流行的一種教學(xué)方法,本書正是針對項目化教學(xué)而編寫的。這本書的編寫花費了我們很多的心血。書中的項目來源于我們的開發(fā)項目,從項目到這本書的出版,數(shù)易其稿。本書編寫期間,我們還有繁重的項目開發(fā)任務(wù),但無論是寫書還是開發(fā),我們無時無刻不在充實、驗證、記錄與本書有關(guān)的內(nèi)容。
JSP(Java Server Pages)是目前十分流行的Web開發(fā)技術(shù),主要用于開發(fā)服務(wù)端的腳本程序和動態(tài)生成網(wǎng)站的內(nèi)容。JSP技術(shù)在Web開發(fā)中有著十分突出的優(yōu)越特性,是Java Web開發(fā)的基礎(chǔ)。作者根據(jù)多年的Java Web開發(fā)經(jīng)驗,通過項目實戰(zhàn)的方式詳細地闡明了最新的Java Web應(yīng)用涉及的各種技術(shù)。希望用我們學(xué)習(xí)、教學(xué)和開發(fā)的經(jīng)歷、經(jīng)驗,啟示讀者,少走彎路,能夠在有限的時間內(nèi)快速掌握Java Web開發(fā)技術(shù)。在學(xué)習(xí)本書前,要求讀者必須具有Java基礎(chǔ),否則閱讀本書可能會有很大的困難。建議讀者一定要先掌握一些Java基礎(chǔ)和Web開發(fā)相關(guān)的知識,特別要掌握以下內(nèi)容:
面向?qū)ο螅?理解類的設(shè)計原則,掌握抽象類和接口的使用。
類集框架: 掌握集合框架的主要作用,并且可以靈活使用Collection、Map、Iterator等接口。
JDBC: 這是Java Web貫徹始終的技術(shù)。沒有JDBC,基本上Java Web也將失去全部意義。
HTML: 同樣是Java Web貫徹始終的技術(shù)。
實踐是掌握Java Web技術(shù)最迅速、有效的唯一辦法。本書的程序在Tomcat中測試通過,讀者可以按照書中介紹的詳細步驟親自動手,在本地機器上配置開發(fā)環(huán)境,然后創(chuàng)建和發(fā)布程序。建議讀者仔細閱讀項目的源代碼,理解源代碼的意思。本書是我們實戰(zhàn)項目的經(jīng)驗總結(jié),它記錄了開發(fā)過程中點點滴滴的經(jīng)驗和教訓(xùn),只要認真研讀本書內(nèi)容,就一定能夠順利掌握Java Web開發(fā)的基礎(chǔ)知識。由于時間倉促,作者水平有限,書中難免會有解釋不到位的地方,希望讀者能夠提出寶貴的意見,我們共同交流。由于篇幅的關(guān)系及其他原因,書中對技術(shù)的講解都很膚淺,只是入門的水平。如果讀者想有更大的進步,最好是深入研究本書所提到的技術(shù),再找?guī)讉項目來做。當(dāng)你能夠游刃有余地應(yīng)用這些技術(shù)進行Java Web程序開發(fā)時,才是真正精通JSP的高手。
最后,希望本書能夠成為“啟蒙老師”,引領(lǐng)讀者在Java Web的開發(fā)大道上越走越好!
編者
Contents第1章網(wǎng)上商城系統(tǒng)分析1
1.1項目需求分析1
1.1.1網(wǎng)上商城的發(fā)展趨勢1
1.1.2項目背景1
1.2項目可行性分析2
1.2.1供應(yīng)鏈可行性2
1.2.2品牌可行性2
1.2.3規(guī)模可行性2
1.2.4信息積累和資源整合可行性2
1.2.5降低成本可行性2
1.3項目概要設(shè)計3
1.4網(wǎng)上商城的架構(gòu)選擇——C/S與B/S架構(gòu)分析4
1.4.1C/S模式與B/S模式的比較分析4
1.4.2C/S模式的優(yōu)勢5
1.4.3B/S模式的優(yōu)勢5
1.4.4C/S與B/S區(qū)別6
1.5JSP基礎(chǔ)技術(shù)概述7
1.5.1JSP技術(shù)概述7
1.5.2JSP與其他Web開發(fā)工具的比較9
1.5.3JSP開發(fā)Web的幾種方式9
1.6HTTP及狀態(tài)碼介紹11
1.6.1HTTP請求響應(yīng)模型12
1.6.2HTTP狀態(tài)碼13
1.7本章知識點14
1.8本章小結(jié)15
1.9練習(xí)15
◆Java Web企業(yè)項目實戰(zhàn)目錄第2章開發(fā)環(huán)境搭建16
2.1JDK16
2.1.1JDK介紹16
2.1.2JDK安裝17
2.1.3配置環(huán)境變量17
2.2Tomcat21
2.2.1Tomcat介紹21
2.2.2Tomcat安裝21
2.2.3Tomcat配置21
2.2.4Tomcat啟動與關(guān)閉23
2.3MySQL24
2.3.1MySQL介紹24
2.3.2MySQL安裝與配置24
2.4Eclipse30
2.4.1創(chuàng)建工程30
2.4.2配置Tomcat35
2.4.3Eclipse調(diào)試程序35
2.4.4JSP頁面調(diào)試41
2.5Web開發(fā)的標(biāo)準(zhǔn)目錄結(jié)構(gòu)42
2.6本章知識點43
2.7本章小結(jié)43
2.8練習(xí)43
第3章系統(tǒng)數(shù)據(jù)建模和界面設(shè)計44
3.1概述44
3.2數(shù)據(jù)庫設(shè)計44
3.2.1項目ER圖44
3.2.2數(shù)據(jù)庫表的設(shè)計45
3.3首頁設(shè)計48
3.4數(shù)據(jù)庫連接及操作類的編寫52
3.5本章知識點61
3.6本章小結(jié)61
3.7練習(xí)61
第4章用戶注冊模塊設(shè)計與開發(fā)62
4.1用戶注冊模塊概述62
4.2基礎(chǔ)知識63
4.2.1修改Eclispe中的JSP文件默認字符編碼63
4.2.2JSP腳本63
4.2.3JSP指令簡介65
4.2.4page指令66
4.2.5taglib指令70
4.2.6include指令70
4.2.7JSP注釋72
4.3用戶注冊模塊的實現(xiàn)過程73
4.3.1用戶注冊的界面設(shè)計73
4.3.2創(chuàng)建用戶模型類75
4.3.3開發(fā)數(shù)據(jù)訪問層79
4.3.4用戶注冊判斷的實現(xiàn)86
4.4本章知識點87
4.5本章小結(jié)87
4.6練習(xí)88
第5章用戶登錄模塊設(shè)計與開發(fā)89
5.1用戶登錄模塊概述89
5.2基礎(chǔ)知識90
5.2.1內(nèi)置對象90
5.2.2JSP異常處理96
5.2.3Cookie98
5.2.4DAO設(shè)計模式101
5.3用戶登錄模塊的實現(xiàn)過程102
5.3.1用戶登錄界面設(shè)計102
5.3.2用戶登錄功能的代碼實現(xiàn)102
5.4用戶信息查看修改功能實現(xiàn)過程105
5.4.1用戶信息查看修改功能界面設(shè)計105
5.4.2主要實現(xiàn)代碼106
5.5注銷功能實現(xiàn)110
5.6本章知識點112
5.7本章小結(jié)112
5.8練習(xí)113
第6章系統(tǒng)管理模塊設(shè)計與開發(fā)114
6.1系統(tǒng)管理模塊概述114
6.2基礎(chǔ)知識115
6.2.1URL傳遞參數(shù)115
6.2.2Servlet115
6.2.3doGet()與doPost()方法117
6.2.4Servlet注解118
6.2.5Servlet的兩種配置方式118
6.2.6過濾器119
6.2.7頁面跳轉(zhuǎn)124
6.2.8通過JSP頁面調(diào)用Servlet127
6.3系統(tǒng)管理模塊的實現(xiàn)過程127
6.3.1界面設(shè)計127
6.3.2管理員數(shù)據(jù)模型實現(xiàn)127
6.3.3數(shù)據(jù)操作層接口實現(xiàn)129
6.3.4數(shù)據(jù)操作實現(xiàn)131
6.3.5管理員添加實現(xiàn)134
6.3.6密碼重置實現(xiàn)136
6.3.7查看所有管理員實現(xiàn)138
6.3.8刪除管理員實現(xiàn)140
6.4使用Filter控制用戶權(quán)限141
6.4.1過濾器實現(xiàn)步驟141
6.4.2關(guān)鍵代碼實現(xiàn)142
6.5本章知識點144
6.6本章小結(jié)144
6.7練習(xí)145
第7章商品管理模塊設(shè)計與開發(fā)146
7.1商品管理模塊概述146
7.2基礎(chǔ)知識147
7.2.1JSTL147
7.2.2EL151
7.2.3JavaBean簡介157
7.2.4JavaBean的使用158
7.2.5文件上傳與下載160
7.3數(shù)據(jù)模型實現(xiàn)165
7.4數(shù)據(jù)操作層實現(xiàn)168
7.4.1數(shù)據(jù)操作接口定義168
7.4.2數(shù)據(jù)操作接口實現(xiàn)169
7.5商品添加實現(xiàn)過程172
7.5.1JSP文件實現(xiàn)172
7.5.2Servlet類實現(xiàn)177
7.6商品翻頁實現(xiàn)過程181
7.6.1翻頁模型181
7.6.2翻頁邏輯處理類實現(xiàn)182
7.7商品修改及刪除實現(xiàn)過程183
7.7.1JSP文件實現(xiàn)183
7.7.2Servlet類實現(xiàn)187
7.8商品列表實現(xiàn)過程189
7.9本章知識點192
7.10本章小結(jié)193
7.11練習(xí)193
第8章商品搜索模塊設(shè)計與開發(fā)194
8.1商品搜索模塊概述194
8.2基礎(chǔ)知識194
8.2.1MVC設(shè)計模式194
8.2.2字符串轉(zhuǎn)碼196
8.3搜索實現(xiàn)過程198
8.3.1搜索頁面設(shè)計及實現(xiàn)198
8.3.2搜索功能代碼實現(xiàn)200
8.4本章知識點202
8.5本章小結(jié)202
8.6練習(xí)203
第9章購物車模塊設(shè)計與開發(fā)204
9.1購物車模塊概述204
9.2事務(wù)處理205
9.3訂單貨物模型實現(xiàn)207
9.4訂單模型實現(xiàn)209
9.5數(shù)據(jù)操作層實現(xiàn)211
9.5.1訂單數(shù)據(jù)操作接口定義211
9.5.2訂單貨物操作接口定義212
9.5.3訂單數(shù)據(jù)操作接口實現(xiàn)213
9.5.4訂單貨物操作接口實現(xiàn)216
9.6瀏覽商品實現(xiàn)218
9.7瀏覽次數(shù)實現(xiàn)218
9.8瀏覽商品詳細信息實現(xiàn)220
9.9購物車Bean222
9.10加入購物車功能實現(xiàn)224
9.11瀏覽購物車226
9.12修改商品數(shù)量實現(xiàn)231
9.13移除商品實現(xiàn)232
9.14收貨人信息實現(xiàn)233
9.15收貨人信息修改功能實現(xiàn)235
9.16訂單確認實現(xiàn)236
9.17本章知識點238
9.18本章小結(jié)239
9.19練習(xí)239
第10章訂單管理模塊設(shè)計與開發(fā)240
10.1訂單管理模塊概述240
10.2訂單管理首頁設(shè)計240
10.3訂單號搜索的實現(xiàn)過程241
10.4查看所有訂單的實現(xiàn)過程244
10.5查看已發(fā)貨訂單的實現(xiàn)過程244
10.6查看未發(fā)貨訂單的實現(xiàn)過程245
10.7訂單列表實現(xiàn)245
10.8訂單查看/管理實現(xiàn)247
10.9訂單查看/管理頁面代碼實現(xiàn)249
10.10發(fā)送訂單實現(xiàn)251
10.11刪除訂單實現(xiàn)253
10.12本章小結(jié)254
10.13練習(xí)254
附錄A255
A.1JSP編碼規(guī)范255
A.2Ajax與jQuery258
A.3SVN267