




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第十一講第十一講 JSP10課時課時(450分鐘分鐘)本課目標(biāo)本課目標(biāo) 理解電子書城的基本設(shè)計思想理解電子書城的基本設(shè)計思想 熟悉系統(tǒng)需求分析、系統(tǒng)功能模塊設(shè)計、系統(tǒng)界面設(shè)計、熟悉系統(tǒng)需求分析、系統(tǒng)功能模塊設(shè)計、系統(tǒng)界面設(shè)計、系統(tǒng)主要流程設(shè)計、數(shù)據(jù)庫設(shè)計和詳細(xì)設(shè)計系統(tǒng)主要流程設(shè)計、數(shù)據(jù)庫設(shè)計和詳細(xì)設(shè)計 知識知識 理解電子書城的基本設(shè)計思想理解電子書城的基本設(shè)計思想 結(jié)合其他相關(guān)課程中學(xué)習(xí)到的軟件開發(fā)生命周期的相關(guān)內(nèi)結(jié)合其他相關(guān)課程中學(xué)習(xí)到的軟件開發(fā)生命周期的相關(guān)內(nèi)容,進(jìn)一步明確本書的學(xué)習(xí)目標(biāo)。容,進(jìn)一步明確本書的學(xué)習(xí)目標(biāo)。 技能技能u1.電子書城總體設(shè)計 u2.系統(tǒng)數(shù)據(jù)庫設(shè)計 u3.系統(tǒng)基本框
2、架u4.各功能模塊的設(shè)計與實現(xiàn) u5.部署和發(fā)布系統(tǒng) 主要內(nèi)容主要內(nèi)容網(wǎng)上書店也是JSP技術(shù)在電子商務(wù)上的應(yīng)用,用戶可以通過瀏覽器訪問系統(tǒng)、訂購圖書,對系統(tǒng)的管理也是通過瀏覽器來完成的。 1、系統(tǒng)功能及模塊 l 用戶注冊:用戶在網(wǎng)上書店訂購圖書前,必須注冊用戶。 l 網(wǎng)上購物:注冊用戶可以查看書店中有哪些圖書,并確定訂購哪些圖書,可以反復(fù)訂購。l 查看以前用戶訂單:注冊用戶登錄系統(tǒng)后,可以查看、修改用戶信息,也可以查看以前在網(wǎng)上書店訂購的圖書。1、網(wǎng)上書店總體設(shè)計、網(wǎng)上書店總體設(shè)計l 系統(tǒng)管理與維護(hù):這是系統(tǒng)管理員的工作,要求能夠添加、修改、刪除圖書等。系統(tǒng)功能模塊如下圖所示: 系統(tǒng)功能模塊系
3、統(tǒng)功能模塊1、網(wǎng)上書店總體設(shè)計、網(wǎng)上書店總體設(shè)計 2、系統(tǒng)實現(xiàn)方案 本系統(tǒng)采用B/S(瀏覽器/服務(wù)器)數(shù)據(jù)庫應(yīng)用體系結(jié)構(gòu)。整個系統(tǒng)采用JSP+JavaBean模式,其中,JavaBean主要用來封裝連接數(shù)據(jù)庫、執(zhí)行SQL語句等功能。 JSP容器(服務(wù)器)則采用Tomcat 5.0。后臺數(shù)據(jù)庫管理系統(tǒng)則采用SQL Server 2000。 1、網(wǎng)上書店總體設(shè)計、網(wǎng)上書店總體設(shè)計1、數(shù)據(jù)表分析 分析功能要求,本系統(tǒng)后臺數(shù)據(jù)庫設(shè)計4個表。2、系統(tǒng)數(shù)據(jù)庫設(shè)計、系統(tǒng)數(shù)據(jù)庫設(shè)計2、系統(tǒng)數(shù)據(jù)庫設(shè)計、系統(tǒng)數(shù)據(jù)庫設(shè)計接下來創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表。數(shù)據(jù)庫名為bookshop。 2、系統(tǒng)數(shù)據(jù)庫設(shè)計、系統(tǒng)數(shù)據(jù)庫設(shè)計網(wǎng)上書
4、店的基本結(jié)構(gòu)如下所示: 系統(tǒng)基本結(jié)構(gòu)圖系統(tǒng)基本結(jié)構(gòu)圖3、系統(tǒng)基本框架、系統(tǒng)基本框架系統(tǒng)程序目錄結(jié)構(gòu)圖系統(tǒng)程序目錄結(jié)構(gòu)圖3、系統(tǒng)基本框架、系統(tǒng)基本框架1、公共模塊設(shè)計公共模塊中一共有4個JSP文件和一個CSS文件:“common.jsp”、“check.jsp”、“header.jsp”、“footer.jsp”和“style.css”。其中,“style.css”文件與第10章中相同文件類似,不作介紹,下面介紹其他4個文件。lcommon.jspl“common.jsp”文件包含其他JSP文件中需要導(dǎo)入的Java類和包以及系統(tǒng)各頁面要使用的日期。4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實
5、現(xiàn)l程序除了將常用的Java包和類包含進(jìn)來外,還將自定義包bookshop包含進(jìn)來,這個包中有3個JavaBean程序:DBConnectionManager、DBSQLManager和Book,后面將會詳細(xì)介紹這3個JavaBean程序。l值得注意的是,程序定義了兩個String類型變量:dateString和_dateString,前者是表示當(dāng)前系統(tǒng)日期,后者表示當(dāng)前系統(tǒng)日期時間,這兩個變量將在網(wǎng)上書店的其他JSP文件中使用。lcheck.jspl用來判斷系統(tǒng)用戶是否登錄,防止非法用戶登錄到系統(tǒng)對系統(tǒng)進(jìn)行破壞 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)代碼如下: lheader.j
6、sp和footer.jsp l為了使網(wǎng)上書店的所有頁面具有統(tǒng)一的風(fēng)格,把頁面頭和尾的代碼分開,分別放在單獨的JSP文件中。 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)在其他頁面中使用時,利用include指令將它們包含進(jìn)來即可。這是開發(fā)一個大型、實用的Web應(yīng)用常用的方法,可以簡化頁面的重復(fù)代碼,也為以后的管理和維護(hù)工作提供了方便。 header.jsp和footer.jsp就是這樣的兩個文件。 如果其他JSP文件要使用它們,可利用如下語句將它們包含進(jìn)來: 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)2、網(wǎng)上書店主界面 用戶打開網(wǎng)上書店首先見到的頁面,通過該頁面,用戶可以注冊用戶
7、、登錄系統(tǒng)、查看最新消息,系統(tǒng)管理員也可以通過主頁面進(jìn)入到后臺管理系統(tǒng)。主界面主界面4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)3、建立與數(shù)據(jù)庫相關(guān)的JavaBean 在上個實例中,使用一個單獨的JSP文件“connectdb.jsp”來連接數(shù)據(jù)庫。由于連接數(shù)據(jù)庫的操作在JSP程序中用得較多,并且是一項很消耗系統(tǒng)資源的操作,所以本章實例把這個操作寫成JavaBean。DBConnectionManager.java需要注意如下幾點: 程序定義了驅(qū)動類型名稱變量driverName和連接字符串變量url,并給它們賦初值,表示當(dāng)前連接數(shù)據(jù)庫bookshop。getConnection()方法
8、用于獲得數(shù)據(jù)庫連接實例。 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)程序的包名為bookshop,其他JavaBean類的包名也是bookshop。使用如下命令編譯程序:javac DBConnectionManager.java 得到類文件DBConnectionManager.class 除了連接數(shù)據(jù)庫操作外,在程序中經(jīng)常會執(zhí)行指定的SQL語句,所以也可以將這個操作編寫為JavaBean。編寫JavaBean程序DBSQLManager.java,說明如下: 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)程序中要使用類DBConnectionManager,所以要將其包含進(jìn)來。
9、直接寫如下語句:import bookshop.*;在構(gòu)造方法中,聲明了一個DBConnectionManager對象,用來建立與數(shù)據(jù)庫bookshop的連接,并生成Statement對象。方法executeQuery()用來執(zhí)行SQL查詢語句,返回的ResultSet對象,并賦值給成員rs。方法executeUpdate()用來執(zhí)行INSERT、DELETE和UPDATE語句。 在編譯DBSQLManager.java時,要將DBConnectionManager.class文件放置在DBSQLManager.java所在目錄的子目錄booshop下。 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊
10、的設(shè)計與實現(xiàn)l4、【用戶注冊】模塊l用戶在網(wǎng)上書店訂購圖書前,需要注冊用戶。用戶注冊系統(tǒng)共有兩個JSP文件:“register.jsp”和“adduser.jsp” lregister.jsp l定義一個表單以及相關(guān)輸入框,用于用戶輸入注冊信息。填寫完畢,用戶單擊【注冊】按鈕,程序會檢驗用戶名和密碼的位數(shù)是否符合要求以及兩次輸入的密碼是否一致。 ladduser.jsp l提交表單后,進(jìn)入“adduser.jsp”頁面,將用戶信息存入數(shù)據(jù)庫。 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)5、網(wǎng)上購書子系統(tǒng)session對象的作用是記錄每個客戶端的訪問狀態(tài),以便跟蹤每個客戶端的操作狀態(tài)。在
11、網(wǎng)上購書子系統(tǒng)中,使用session對象可以跟蹤用戶購書操作,本實例中要充分利用session對象。lbooklist.jsp 用來列出網(wǎng)上書店的所有書籍供用戶購買。lbookdetail.jsp 該頁面中顯示了書的詳細(xì)信息,用戶還可以設(shè)置要購買多少本書。 lBook.java4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)l booklist.jsp 用來列出網(wǎng)上書店的所有書籍供用戶購買。 該頁面運行界面如下:4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)l bookdetail.jsp 該頁面中顯示了書的詳細(xì)信息,用戶還可以設(shè)置要購買多少本書。該頁面運行界面如下:4、各功能模塊的設(shè)計
12、與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)lbuybook.jsp 用于接受“bookdetail.jsp”文件傳過來的購書信息,并添加到購物車中。值得注意以下幾點: 基于session實現(xiàn)購物車。由于用戶可以訂購多本圖書,反復(fù)訂購,所以選擇了Vector(向量類)作為購物車session變量的類型。 由于購物車中,用戶購買書的種類不是惟一的,而是不確定的,所以采取了Vector類,而不是數(shù)組。 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)lVector(向量類)是java.util包(java中各種常用工具類的類庫)提供的一個工具類。它類似于數(shù)組,但是具有比數(shù)組更強(qiáng)大的功能。Vector類對象所表
13、達(dá)的序列中元素的個數(shù)是可變的,可以說,Vector類實現(xiàn)了變長數(shù)組,隨著更多元素加入其中,數(shù)組變得更大。在刪除一些元素之后,數(shù)組變小。lVector類的對象不但可以保存一序列的數(shù)據(jù),而且還封裝了一些有用的方法來操作和處理這些數(shù)據(jù),如addElement()、insertElementAt()、elementAt()、setElementAt()、removeElement()、removeAllElements()等。 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)lshopcar.jsp 作用是顯示購物車中的內(nèi)容,實際上它只是從session中取出購物車變量shopcar,如果購物車為空
14、,頁面就顯示購物車為空的信息。如果購物車不為空,它就取出用戶訂購的所有書籍,依次顯示在頁面上。 4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)l checkout.jsp 作用是將訂單寫入到數(shù)據(jù)庫中。4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)l 查看【我的訂單】(myshop.jsp)l購買圖書后,用戶隨時可以查看以前的所有訂單,單擊頁面頭【我的訂單】,就可以打開“myshop.jsp”頁面。4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)orderitem.jsp 如果用戶單擊“查看”按鈕,可以進(jìn)入“orderitem.jsp” 頁面,查看每個訂單的各圖書信息以及購買數(shù)量。4、各功能模塊的設(shè)計與實現(xiàn)、各功能模塊的設(shè)計與實現(xiàn)將各JSP文件、JDBC驅(qū)動程序jar文件等按照“系統(tǒng)程序目錄圖”組織本系統(tǒng)程序目錄。然后將其拷貝到Tomcat服務(wù)器的W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級語文上冊 第二單元 6《秋天的雨》教學(xué)設(shè)計 新人教版
- Lesson 6 I can see with my eyes. 單元整體(教學(xué)設(shè)計)-2024-2025學(xué)年接力版英語四年級上冊
- Module 7 Summer in Los Angeles 大單元整體教學(xué)設(shè)計-2023-2024學(xué)年外研版英語八年級下冊
- 人教部編版六年級下冊習(xí)作:寫作品梗概教案
- 七年級語文上冊 21 皇帝的新裝教學(xué)設(shè)計 新人教版
- 4認(rèn)識感官 教學(xué)設(shè)計-2024-2025學(xué)年科學(xué)一年級上冊蘇教版
- 《我們的校園》教學(xué)設(shè)計-2023-2024學(xué)年三年級下冊數(shù)學(xué)人教版
- Module 4 Things we enjoy Unit 10 Great inventions Period 2(教學(xué)設(shè)計)-2023-2024學(xué)年滬教牛津版(深圳用)英語五年級下冊
- 《我們知道的動物》(教案)教科版科學(xué)一年級下冊
- Recycle 1 Period 1(教學(xué)設(shè)計)-2024-2025學(xué)年人教PEP版英語四年級上冊
- 企業(yè)與學(xué)院合作進(jìn)行的教學(xué)內(nèi)容更新研究
- 數(shù)字化人力資源管理的心得體會
- 云南省昆明市2025屆高三“三診一模”摸底診斷測試思想政治試題(含答案)
- 2025-2030年中國公證產(chǎn)業(yè)發(fā)展現(xiàn)狀及投資前景分析報告
- 雙減背景下的作業(yè)設(shè)計教研活動方案
- 電力工程勘測的基本知識
- 實驗教學(xué)的多維度評價與反饋機(jī)制研究
- 體育賽事版權(quán)保護(hù)與監(jiān)管-洞察分析
- 信托業(yè)務(wù)數(shù)字化轉(zhuǎn)型-洞察分析
- 機(jī)械工程師中級考試題庫單選題100道及答案解析
- 《Python語言程序設(shè)計》課件-第六章(中英文課件)
評論
0/150
提交評論