第4章網(wǎng)上書店項(xiàng)目的架構(gòu)和設(shè)計(jì)ppt課件_第1頁
第4章網(wǎng)上書店項(xiàng)目的架構(gòu)和設(shè)計(jì)ppt課件_第2頁
第4章網(wǎng)上書店項(xiàng)目的架構(gòu)和設(shè)計(jì)ppt課件_第3頁
第4章網(wǎng)上書店項(xiàng)目的架構(gòu)和設(shè)計(jì)ppt課件_第4頁
第4章網(wǎng)上書店項(xiàng)目的架構(gòu)和設(shè)計(jì)ppt課件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第4章 網(wǎng)上書店工程的架構(gòu)和設(shè)計(jì)4.1網(wǎng)上書店的架構(gòu)4.24.3搭建工程框架注冊、登錄和注銷功能開發(fā)4.1 網(wǎng)上書店的架構(gòu)4.1.1 功能需求和展現(xiàn)1主界面網(wǎng)上書店購書界面如圖4.1所示。4.1.1 功能需求和展現(xiàn)2功能模塊網(wǎng)上書店是一個典型的基于Web網(wǎng)站的Java EE軟件系統(tǒng),集成了諸多的功能模塊,主要包括:1顯示圖書分類。2用戶可以根據(jù)分類閱讀某一類圖書列表。3用戶可以查看詳細(xì)某一本書的簡介。4在圖書閱讀頁只需單擊【購買】按鈕,就可把選定的圖書參與購物車中。5用戶可以隨時單擊 ,查看車中已購圖書的信息。6已登錄的用戶可以單擊【結(jié)賬】按鈕下訂單。7運(yùn)用需先注冊,在注冊頁填寫個人信息,確認(rèn)

2、有效后成為新用戶。8用戶在登錄頁填寫用戶名和密碼,確認(rèn)正確后才可結(jié)賬。4.1.1 功能需求和展現(xiàn)各功能模塊的劃分如圖4.2所示。4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層1添加Spring中心容器2添加Hibernate并耐久化user表3添加Struts 2框架4Struts 2與Spring集成 添加Spring支持包。 配置web.xml文件。翻開web.xml文件,添加Spring的配置,代碼所示。 創(chuàng)建perties。在src目錄下創(chuàng)建perties文件,把Struts 2的類的生成交給Spring完成:struts.objectFactory=spring;4.1.2

3、業(yè)務(wù)層的引入:多框架整合含Service層5開發(fā)DAO層BaseDAO代碼如下:package org.easybooks.bookstore.dao;import org.hibernate.SessionFactory;import org.hibernate.Session;public class BaseDAO private SessionFactory sessionFactory;public SessionFactory getSessionFactory()return sessionFactory;public void setSessionFactory(Session

4、Factory sessionFactory)this.sessionFactory=sessionFactory;public Session getSession()Session session=sessionFactory.openSession();return session;4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層IUserDAO接口代碼如下:package org.easybooks.bookstore.dao;import org.easybooks.bookstore.vo.User;public interface IUserDAO public User

5、validateUser(String username,String password);public void saveUser(User user);UserDAO類代碼所示。4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層6開發(fā)業(yè)務(wù)層在src目錄下建立包org.easybooks.bookstore.service,包中安頓一個IUserService接口。IUserService接口代碼如下:package org.easybooks.bookstore.service;import org.easybooks.bookstore.vo.User;public interfac

6、e IUserService public User validateUser(String username,String password);public User registerUser(User user);/實(shí)現(xiàn)注冊登錄的ServiceUserService類代碼所示。4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層7開發(fā)Action控制塊LoginAction.java代碼所示。struts.xml文件內(nèi)容如下:/error.jsp/welcome.jsp/error.jsp/welcome.jsp4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層8注冊組件applic

7、ationContext.xml文件代碼所示。9編寫JSP文件login.jsp的代碼如下:登錄頁面用戶登錄姓名:密碼: 注冊4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層register.jsp的代碼如下:注冊頁面用戶注冊用戶名:密碼: 4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層welcome.jsp的代碼如下:勝利頁面,您好!歡迎光臨叮當(dāng)書店。error.jsp的代碼如下:失敗頁面登錄失?。?.1.2 業(yè)務(wù)層的引入:多框架整合含Service層10部署運(yùn)轉(zhuǎn)部署工程、啟動Tomcat效力器。在閱讀器中輸入httplocalhost:8080/jsp_struts2_ sp

8、ring_service_dao_hibernate/并回車,出現(xiàn)如圖4.3所示的登錄首頁。4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層單擊【登錄】按鈕提交表單,跳轉(zhuǎn)到如圖4.4所示的勝利頁面。4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層后退到登錄首頁,如圖4.5所示,用鼠標(biāo)單擊頁面上的“注冊鏈接,進(jìn)入如圖4.6所示的注冊頁面。4.1.2 業(yè)務(wù)層的引入:多框架整合含Service層此時控制器會調(diào)用IUserService接口里的“注冊登錄效力registerUser()方法,該效力又先后調(diào)用DAO層的saveUser()方法和validateUser()方法,實(shí)現(xiàn)新用戶注冊

9、后立刻用新賬號登錄的功能,本例將跳轉(zhuǎn)到如圖4.7所示的頁面。4.1.3 系統(tǒng)架構(gòu):原理與實(shí)施1分層模型總結(jié)前述的知識,輕量級的Java EE系統(tǒng)最適宜采用分層的方式架構(gòu),下面給出其分層模型,如圖4.8所示。4.1.3 系統(tǒng)架構(gòu):原理與實(shí)施2實(shí)施方案這里將討論一個運(yùn)用3種開源框架的處理方案,如圖4.9所示。4.2 搭建工程框架1創(chuàng)建Web工程在MyEclipse中創(chuàng)建一個新的Web Project,命名為bookstore。2創(chuàng)建源代碼包在工程src目錄下創(chuàng)建如圖4.10所示的包。4.2 搭建工程框架3創(chuàng)建數(shù)據(jù)庫網(wǎng)上書店有以下5個實(shí)體:用戶、圖書分類、圖書、訂單、訂單項(xiàng),因此,本系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)

10、如圖4.11所示。4.2 搭建工程框架根據(jù)圖4.11所示的設(shè)計(jì)模型,用CASE工具生成SQL語句,代碼所示。最終生成的表如圖4.12所示,每個實(shí)體對應(yīng)一個表,總共5個表。4.2 搭建工程框架向catalog表輸入記錄的SQL語句:INSERT INTO catalog VALUES(1, C言語程序設(shè)計(jì));INSERT INTO catalog VALUES(2, Java開發(fā));INSERT INTO catalog VALUES(3, 數(shù)據(jù)庫);INSERT INTO catalog VALUES(4, 網(wǎng)頁編程);4.2 搭建工程框架向book表輸入記錄:INSERT INTO book

11、 VALUES(1, 4, ASP.NET 3.5適用教程, 38, ASP.NET3.5.jpg);INSERT INTO book VALUES(2, 1, C#適用教程, 43, CSharp.jpg);INSERT INTO book VALUES(3, 1, C適用教程, 36, C.jpg);INSERT INTO book VALUES(4, 1, C+適用教程, 40, C+.jpg);INSERT INTO book VALUES(5, 4, Flex 4開發(fā)實(shí)際, 45, Flex4.jpg);INSERT INTO book VALUES(6, 2, Java EE根底適

12、用教程, 35, JavaEEBasic.jpg);INSERT INTO book VALUES(7, 2, Java EE適用教程, 39, JavaEE.jpg);INSERT INTO book VALUES(8, 2, Java適用教程第2版, 50, Java.jpg);INSERT INTO book VALUES(9, 4, JSP編程教程, 30, JSP.jpg);INSERT INTO book VALUES(10, 3, MySQL適用教程, 37, MySQL.jpg);INSERT INTO book VALUES(11, 3, Oracle適用教程第3版, 29,

13、 Oracle.jpg);INSERT INTO book VALUES(12, 4, PHP適用教程, 35, PHP.jpg);INSERT INTO book VALUES(13, 3, SQL Server適用教程第3版, 25, SQL Server.jpg);INSERT INTO book VALUES(14, 1, Visual C+教程第2版, 25, VC+.jpg);4.2 搭建工程框架4添加SSH2多框架要留意添加的次序:1添加Spring中心容器。2添加Hibernate框架。3添加Struts 2框架。4Struts 2與Spring集成。詳細(xì)操作同4.1.2小節(jié),

14、在第2步添加了Hibernate后,要一并將bookstore中的5個表全都用“反向工程法生成耐久化對象及映射文件,生成項(xiàng)全部置于先前創(chuàng)建的org.easybooks.bookstore.vo包中,如圖4.13所示。4.3 注冊、登錄和注銷功能開發(fā)4.3.1 表示層頁面設(shè)計(jì)1頁面規(guī)劃在WebRoot下建立文件夾css,在其中創(chuàng)建bookstore.css文件。編寫CSS代碼所示。4.3.1 表示層頁面設(shè)計(jì)2知識點(diǎn):CSS款式表例如,在CSS定義了a標(biāo)簽的款式如下:a font-family: 宋體;color: #000000;那么在頁面中假設(shè)出現(xiàn):鏈接而類款式那么不同,定義一個款式的類格式如

15、下:.name該類款式的屬性在頁面標(biāo)簽中參與“class=name屬性,該標(biāo)簽就可以運(yùn)用CSS中.name定義的款式。例如:4.3.1 表示層頁面設(shè)計(jì)3設(shè)計(jì)主界面主頁面的框架由index.jsp實(shí)現(xiàn),代碼所示。4分塊子頁面設(shè)計(jì)1網(wǎng)頁頭設(shè)計(jì)。首先在主界面的上方是網(wǎng)頁頭對應(yīng)head.jsp,代碼所示。2登錄頁設(shè)計(jì)。登錄頁對應(yīng)login.jsp,代碼所示。3注冊頁設(shè)計(jì)。注冊頁對應(yīng)register.jsp,代碼所示。4網(wǎng)頁尾設(shè)計(jì)。foot.jsp為整個頁面的尾部,其代碼非常簡單,普通是版權(quán)闡明等內(nèi)容,代碼所示。4.3.1 表示層頁面設(shè)計(jì)5效果展現(xiàn)1主界面。在閱讀器地址欄輸入httplocalhost:

16、8080/bookstore/index.jsp并回車,顯示主界面如圖4.14所示。4.3.1 表示層頁面設(shè)計(jì)2登錄頁。單擊“登錄鏈接,如圖4.15所示,進(jìn)入登錄頁。4.3.1 表示層頁面設(shè)計(jì)3注冊頁。單擊“注冊鏈接,進(jìn)入注冊頁,頁面上出現(xiàn)如圖4.16所示的供用戶填寫個人信息的表單。4.3.2 耐久層接口設(shè)計(jì)DAO層所涉及的類、接口如圖4.17所示。4.3.2 耐久層接口設(shè)計(jì)在org.easybooks.bookstore.dao包中創(chuàng)建IUserDAO.java,代碼如下:package org.easybooks.bookstore.dao;import org.easybooks.boo

17、kstore.vo.User;public interface IUserDAO /用戶注冊時,保管注冊信息public void saveUser(User user);/用戶登錄時,驗(yàn)證用戶信息public User validateUser(String username,String password);4.3.2 耐久層接口設(shè)計(jì)創(chuàng)建BaseDAO.java,代碼如下:package org.easybooks.bookstore.dao;import org.hibernate.SessionFactory;import org.hibernate.Session;public cl

18、ass BaseDAO private SessionFactory sessionFactory;public SessionFactory getSessionFactory()return sessionFactory;public void setSessionFactory(SessionFactory sessionFactory)this.sessionFactory=sessionFactory;public Session getSession()Session session=sessionFactory.openSession();return session;在org.

19、easybooks.bookstore.dao.impl包中創(chuàng)建UserDAO.java,代碼所示。4.3.3 業(yè)務(wù)及控制邏輯設(shè)計(jì)1業(yè)務(wù)層開發(fā)業(yè)務(wù)層Service層用于處置各種業(yè)務(wù)邏輯,主要的類和接口是IUserService、UserService,如圖4.18所示。4.3.3 業(yè)務(wù)及控制邏輯設(shè)計(jì)在org.easybooks.bookstore.service包中創(chuàng)建IUserService. java,代碼如下:package org.easybooks.bookstore.service;import org.easybooks.bookstore.vo.User;public inte

20、rface IUserService /保管注冊信息public void saveUser(User user);/驗(yàn)證用戶信息public User validateUser(String username,String password);4.3.3 業(yè)務(wù)及控制邏輯設(shè)計(jì)在org.easybooks.bookstore.service.impl包中創(chuàng)建UserService.java,代碼如下:package org.easybooks.bookstore.service.impl;import org.easybooks.bookstore.dao.IUserDAO;import org

21、.easybooks.bookstore.service.IUserService;import org.easybooks.bookstore.vo.User;public class UserService implements IUserServiceprivate IUserDAO userDAO;/保管注冊信息public void saveUser(User user)this.userDAO.saveUser(user);/驗(yàn)證用戶信息public User validateUser(String username,String password)return userDAO.validateUser(username, password);public IUserDAO getUserDAO()return userDAO;public void setUserDAO(IUserDAO userDAO)this.userDAO=userDAO;4.3.3 業(yè)務(wù)及控制邏輯設(shè)計(jì)2控制模塊開發(fā)系統(tǒng)的注冊、登錄和注銷功能的控制模塊由UserAction類承當(dāng),該類含有3個方法,如圖4.19所示,register()方法用于用戶注冊,execute()方法用于用戶登錄,logout()方法用于用戶注銷。這些方法的實(shí)現(xiàn)依賴于

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論