基于SSH框架的Web網站設計與實現畢業論文_第1頁
基于SSH框架的Web網站設計與實現畢業論文_第2頁
基于SSH框架的Web網站設計與實現畢業論文_第3頁
基于SSH框架的Web網站設計與實現畢業論文_第4頁
基于SSH框架的Web網站設計與實現畢業論文_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 PAGE39 / NUMPAGES44 畢業論文(設計)基于SSH框架的Web設計與實現學 生 姓 名: 辰宇 指導教師: 妍 (講師) 專業名稱: 通信工程 所在學院: 信息工程學院 2013年 6 月目 錄 TOC o 1-2 h z u HYPERLINK l _Toc22218 摘要 PAGEREF _Toc22218 I HYPERLINK l _Toc2100 Abstract PAGEREF _Toc2100 II HYPERLINK l _Toc13383 第一章 前言 PAGEREF _Toc13383 1 HYPERLINK l _Toc27272 1.1 研究目的和意義

2、 PAGEREF _Toc27272 1 HYPERLINK l _Toc7229 1.2 國外研究現狀 PAGEREF _Toc7229 1 HYPERLINK l _Toc10342 1.3 研究容與方法 PAGEREF _Toc10342 1 HYPERLINK l _Toc1025 第二章 可行性與需求分析 PAGEREF _Toc1025 3 HYPERLINK l _Toc1308 2.1可行性分析 PAGEREF _Toc1308 3 HYPERLINK l _Toc18812 2.2需求分析 PAGEREF _Toc18812 4 HYPERLINK l _Toc23285 第

3、三章設計技術與系統運行環境 PAGEREF _Toc23285 7 HYPERLINK l _Toc10665 3.1設計技術 PAGEREF _Toc10665 7 HYPERLINK l _Toc5986 3.2系統運行環境 PAGEREF _Toc5986 15 HYPERLINK l _Toc22318 第四章 系統設計 PAGEREF _Toc22318 17 HYPERLINK l _Toc31123 4.1 官網系統 PAGEREF _Toc31123 17 HYPERLINK l _Toc14070 4.2 圖書出售系統 PAGEREF _Toc14070 18 HYPERLI

4、NK l _Toc29511 4.3 辦公系統 PAGEREF _Toc29511 21 HYPERLINK l _Toc31324 4.4 數據庫設計 PAGEREF _Toc31324 24 HYPERLINK l _Toc9392 第五章 系統實現 PAGEREF _Toc9392 26 HYPERLINK l _Toc19431 5.1 系統架構 PAGEREF _Toc19431 26 HYPERLINK l _Toc29915 5.2 持久層Hibernate實現 PAGEREF _Toc29915 29 HYPERLINK l _Toc10917 5.3 控制層Struts實現

5、PAGEREF _Toc10917 30 HYPERLINK l _Toc4610 5.4 業務層Spring實現 PAGEREF _Toc4610 33 HYPERLINK l _Toc12714 第六章 結論與建議 PAGEREF _Toc12714 36 HYPERLINK l _Toc16808 致 PAGEREF _Toc16808 37 HYPERLINK l _Toc13374 附錄 PAGEREF _Toc13374 39 TOC o 1-3 h z 摘要本次畢業設計主要以電子商務為主題進行Web的設計與開發,在框架方面應用了現今比較主流的SSH框架。設計背景以海洋大學出社為主

6、題,并針對其進行設計與開發電子商務系統。本次設計包括三個大模塊分別為,后臺管理OA系統、官網系統、圖書出售系統,每個模塊又包括了諸多小模塊。項目結構方面采用MVC架構大體上分為視圖層、控制層、持久層,持久層細分為DAO層與業務層。這種結構使得開發開發過程中邏輯清項目結構簡明便于后期的功能擴展與二次開發。技術方面在視圖層采用的是Jsp頁面技術,在此基礎上部分頁面引入Ajax請求。服務器采用開源穩定的Tomcate服務器,數據庫是MySQL。具體的框架版本為Struct2、Hibernate3.3、Spring3.0,開發工具為Meclipse9。關鍵詞:Hibernate,Spring,Stru

7、ct2,Java,數據庫 AbstractThe graduation project designs and develops Web site mainly with the theme of e-commerce,and applise the SSH(Secure Shell ) framework in the matter of framework which is the mainstream today.The project designs and develops e-commerce system with the design background of the pro

8、ject witch bases on the theme of DLOU Press.The project contains of three main module.they are,respectively,the backstage management OA (Office Automation)system ,the official web site system and the book selling system,and each module contains numerous branch modules.The MVC(Model View Controller)

9、technique is adopted in the aspect of project architecture which divided into View layer, Control layer and Hibernate ,among the three parts,Hibernate is subdivided into DAO(Data Access Object) and business layer.This structure makes the logic and system structure clear, and has good expansibility a

10、nd maintenance.JSP(Java Server Pages)technology is adopted on the View layer at the technical level,based on this,part of webpages use AJAX(Asynchronous JavaScript and XML) request technology.Steady open source Tomcate servlet is adopted in the aspect of server and the database is MySQL.The concret

11、structure version is Struct2.1、Hibernate3.3、Spring3.0,and Meclipse9 is used as development tool.Key words: Hibernate,Spring,Struct2,Java,DataBase第一章 前言在JavaWeb設計與開發方面,比較經典的架構為MVC架構“M”指的模型(Mode)。“模型”在開發過程中指的是持久層,再具體點說就是代碼中的DAO(持久層),Service(業務層),Bean組件等,這些用于分析問題的邏輯關系和算法序列的表示體系都屬于模型的疇。“V”指的是視圖(View)在不同

12、的領域所用的技術不同如:Jsp,PHP,Html都屬于視圖技術,是直接展現給用戶的。在Java中使用的是Jsp頁面,一種動態的頁面技術。“C”指的是控制器(Control)。這種架構方法,將一個項目有條理的分成了三個部分,從而使開發過程中代碼與代碼之間的耦合度降低。11.1 研究目的和意義應該說沒有多少人懷疑計算機OA系統(自動化辦公系統)的出現的意義。計算機OA系統的出現給辦公人員帶來了便利,但是對現代的辦公自動化而言,其目的己經不局限于減輕員工的工作量,而是要將工作人員從繁瑣的事務、業務邏輯、工作方式解放出來,用更多的精力去關注更重要的事情。從而提高企業的效率、增強企業的綜合競爭能力。在這

13、樣辦公方式下,企業的組織結構、工作職能,能夠得到簡化,各個部門在信息共有化的基礎上進行協調工作,這樣便于明確各個部門甚至細微到每個每個工作人員的責任,而領導層可以迅速綜合采納來自多方面的資訊信息,并以此為依據制定企業的發展方針。從這個意義上講,在市場競爭越來越據烈化的今天,辦公自動化系統己經不再是一種單一的手段、而是一種工具,更成為決定企業未來發展,生存空間的命脈。1.2 國外研究現狀電子商務在現今信息飛速發展的今天有著舉足輕重的地位,當今淘寶、當當網、銀行服務系統、企業銷售官網等都屬于電子商務疇。2電子商務的出現使得許多繁瑣、邏輯性高、需要大量人力物力的工作可以通過遠程網絡的形式來處理解決。

14、大大減少了人力物力的投資,提高了工作效率。1.3 研究容與方法在MVC架構的基礎上,現今比較成熟穩定的框架技術是SSH框架。SSH是成熟、穩定、開源的三大框架。S的是Struct2,在針對MVC架構中Struct2框架扮演著控制器(Control)的角色。在視圖層與服務器交互的過程中由struct2來控制,它的底層技術是Servlet。第二個S指的是Spring這個開源框架,Spring充當的是一個容器的角色在實例化Bean組件、調用Bean組件、實例化Service層實時,都用Spring這個容器統一實例化并調用。Spring框架的出現大幅度降低了代碼與代碼之間的耦合度,在Spring框架中

15、經典的是AOP(面向切面編程)與IOC控制反轉。H指的是Hibernate這個框架主要服務于持久層。它的出現解決了繁瑣的數據庫查詢工作,直接面對邏輯對象編程與查詢更加體現出Java面向對象編程的特點。Hibernate是一個智能化比較高的框架,使用不好會使服務器效率大大降低。3第二章 可行性與需求分析2.1可行性分析1 組織和管理可行性基于電子商務Web門戶的辦公自動化系統采用分模塊的開發方式,將整個項目分為三個大系統,分別為圖書出售系統,官網最新資訊系統,和后臺的OA辦公管理系統。在三大系統的基礎上又分為若干個模塊,如:OA系統的,員工管理模塊、官網管理模塊、圖書管理模塊,圖書出售系統,訂單

16、生成模塊、分類瀏覽模塊等。2 經濟可行性所謂的經濟可行性為在針對企業開發智能化辦公系統的過程中,所投入的人力物力軟件系統的前期花費,在后期軟件的運營過程中是否能帶來相應的效益、是否能給使用者帶來方便、這工作人員從繁復的邏輯中解放出來從而獲得更大的利益,提高工作效率。3 技術可行性在針對企業的切實業務開發過程中,視圖界面的制作時通過現有的功能全面、強大的Dream weaver開發制作。在整體布局上強調的是簡潔、美觀、大方、功能全面和操作的簡易可行。服務器采用的是穩定開源的Tomcate服務器。在針對中小型企業開發過程中Tomcate服務器可以完美的兼容開發程序。數據的處理采用的是Mysql數據

17、庫,也是一款開源穩定的數據庫,兼容多種語言而且速度非常快。采用的是經典的MVC架構。框架方面引進的是SSH框架是當今javaEE web開發中主流的框架。在MVC架構的基礎上,現今比較成熟穩定的框架技術是SSH。SSH是成熟、穩定、開源的三大框架。S指的是struct2,在針對MVC架構中Struct2框架扮演著控制器(control)的角色。在視圖層與服務器交互的過程中由Struct2來控制,它的底層技術是Servlet。第2個S指的是Spring這個開源框架。Spring充當的是一個容器的角色,在實例化Bean組件、調用Bean組件、實例化Service層時,都用Spring這個框架實例化

18、并調用。Spring框架的出現大幅度降低了代碼與代碼之間的耦合性,在Spring框架中經典的是AOP(面向切面編程)與IOC控制反轉。H指的是Hibernate,這個框架主要服務于持久層。它的出現解決了繁瑣的數據庫查詢工作,直接從邏輯對象中調用查詢數據即可。是一個智能化比較強的框架,處理不好會使服務器性能大大降低。2.2需求分析2.2.1 官網系統功能分析企業不僅代表著企業的網絡品牌形象,同時也是開展網絡營銷的根據地,建設的水平對網絡營銷的效果有直接影響。企業的功能主要表現在八個方面:品牌形象、產品/服務展示、信息發布、顧客服務、顧客關系、網上調查、網上聯盟、網上銷售。2.2.2圖書出售系統分

19、析1業務流程圖 1網購基本流程圖2 圖書出售功能分析用戶身份驗證模塊(登陸模塊)HYPERLINK :/baike.baidu /view/3314.htm計算機網絡世界中一切信息包括用戶的HYPERLINK :/baike.baidu /view/1034208.htm身份信息都是用一組特定的數據來表示的,計算機只能識別用戶的數字身份,所有對用戶的授權也是針對用戶數字身份的授權。通過登錄的方式對用戶的身份進行驗證,以便于系統確定用戶的身份更好的為用戶服務。(2)用戶注冊模塊通過注冊獲取用戶的信息,并給與用戶一定的權限.為后續的系統服務提供具體的對象。(3)圖書瀏覽、購書模塊根據不同的需求,提

20、供給客戶部同的瀏覽方式。包括圖書查詢、分類瀏覽,按時間瀏覽等,用戶想購買的圖書可以添加到購物出付款,購買信息將根據用戶信息進行綁定。(4)購物車模塊該模塊可以將出版圖書集中付款、批量刪除、修改圖書數量、結算。同一用戶登陸時可以恢復購物車,未結算商品可以繼續結算并且結算后購物車清空。(5)訂單生成模塊根據用戶的具體信息生成訂單,并與用戶的唯一信息(id)進行綁定。在生成訂單過程中用戶可以自由的決定是否保留本次的訂單地址。(6)我的信息模塊該模塊中購物網用戶可以清洗直觀的,看到自己的個人信息、訂單、地址,并提供對這些信息的修改、增加、刪除、查找等操作。2.2.3 OA商務管理系統功能分析1 業務流

21、程:OA該系統的主要流程是系統管理員或普通用戶通過登錄模塊進入系統主頁,之后可以選擇相應的功能對自己的信息進行處理。業務流程圖如圖所示:圖2 OA系統業務流程圖2 后臺OA商務管理系統功能分析OA后臺管理系統如下:(1)管理員登陸模塊對用戶進行身份驗證,由于是后臺OA辦公系統只有管理員身份有權限登陸。進行身份驗證后,可以進行對官網的維護等信息操作。(2)用戶信息管理模塊可以查看全部用戶的信息,修改部分用戶的信息。便于管理員管理維護購書網系統的用戶信息。(3)訂單信息管理模塊提供用戶訂單的增加、刪除、修改等必要的工作。提供訂單的分類瀏覽操作如:按生成時間排序、按是否成交排序等操作。(4)員工信息

22、管理模塊該模塊提供對員工的增加、刪除、修改等必要的工作。工資新宿調整、人員的調度、部門的更換的操作。(5)官網管理模塊對企業官網的信息進行動態的維護。如新聞的發布、文件的上傳、文件的下載、最新注意事項、視頻的上傳。(6)圖書管理模塊該模塊提供圖書的管理、上架、下架、新圖書發行、圖書信息瀏覽等操作。主要用于管理圖書銷售網圖書的發行、發售、上架,和圖書的分類級熱銷圖書模塊、編輯推薦模塊的圖書維護。第三章設計技術與系統運行環境3.1設計技術1 頁面技術(JSP)(1)Jsp是什么?JavaServerPage(Ava服務器端頁面技術)Sun公司制訂的一種服務器端動態頁面生成技術的規,在Jsp技術當中

23、,只需要在Html標記當中,添加少量的java代碼,就可以實現動態頁面。因為直接使用Servlet輸出動態頁面非常麻煩(需要使用OutPrintln),并且難以維護(如果頁面發生改變,需要修改Java代碼)。所以Sun公司才會制訂Jsp規。(2)Jsp是如何執行的?Step1:容器先將.jsp文件轉換成一個.java文件(其實,就是將Jsp轉換成一個對應的Servlet)。a,HtmlService方法里,使用out.write輸出(write方法會將“null”轉換成輸出)。b, Service方法里,照搬。c,Service方法里,使用out.print輸出。out.print():ste

24、p2:執行Servlet的Service方法。2 JavaBean組件技術JavaBean是一種Java類,它遵從一定的設計模式,使它們易于和其他開發工具和組件一起使用。JavaBean是一種Java語言寫成的可重用組件。為寫成JavaBean,類必須是具體的類和公共的類,并且具有無參數的構造器。JavaBean通過提供符合一致性設計模式的公共方法將部域暴露稱為屬性。眾所周知,屬性名稱符合這種模式,其他Java類可以通過自身機制發現和操作這些JavaBean屬性。43 Servlet技術(1)什么是Servlet?Sun公司制訂的一種用于擴展Web服務器功能的組件規,擴展Web服務器功能。早期

25、的web服務器(比如apache web server,is)只能夠處理靜態資源的請求(需要事先將頁面文件寫好,并存放到服務器特定的目錄下面),不能夠處理動態資源的請求即依據請求參數,通過計算,生成一個新的頁面)。擴展方式,早期是使用CGI程序來擴展:CGI(common gateway interface),CGI是一個規,約定了Web服務器與CGI程序(使用Perl,C等語言開發的,并且符合CGI規的程序)相互調用的過程。CGI程序有三個問題:a,開發比較復雜(需要開發人員去解析請求參數);b,可移值性比較差(C,Perl等語言依賴于平臺);c,性能問題(一個請求,會啟動一個進程,進程的開

26、銷比較大)。現在,可以使用Servlet來擴展。5(2)Servlet是如何運行的?在瀏覽器地址欄輸入 HYPERLINK :/localhost:8080/ :/localhost:8080/項目名/訪問路徑Step1:瀏覽器依據Ip,Port建立與服務器之間的連接。Step2:瀏覽器將請求數據(請求資源路徑,請求參數)按照 協議,打包( 請求數據包),發送給服務器。Step3:服務器解析請求數據包,將請求數據封裝到Request對象里面(封裝的目的,是為了方便Servlet獲得請求數據包中的數據,如果沒有Request對象,就需要在Servlet類里面編寫、解析請求數據包的代碼)。另外,服

27、務器還會創建一個對象Response對象(用來存放servlet處理的結果)。6Step4,服務器依據請求資源路徑(web01/sayHello)找到對應的Servlet的配置,創建Servlet對象。Step5,服務器會調用Servlet對象的Service方法(在調用該方法時,會將事先創建好的Request,Response對象作為參數傳遞進來)。可以在Service方法里面,通過Request獲得請求數據,也可以將處理之后的結果存放到Response對象上。Step6,服務器從response對象上取出處理結果,生成響應數據包。發送給瀏覽器。Step7,瀏覽器解析響應數據包,取出處理結果

28、,生成相應的界面。4 Struts2技術Struts框架是基于MVC模式結構,基于Struts開發可以簡化開發過程。圖3 Struct2框架結構圖 (1)Struts2框架應用1)使用步驟:a.引入struts開發包b.在web.xml中添加控制器Filter配置。b在src下添加一個struts.xml配置文件(控制器配置文件)。dc編寫JSP,Action,DAO等組件。d在struts.xml中添加配置(定義請求和Action對應關系)。2)引入Struts開發包,(5個必須包,文件上傳時需要引io包)struts2-core-2.1.8.jar:Struts2開發包。xwork.jar

29、 : xwork:核包。commons-fileupload-1.2.1.jar:文件上傳用。commons-io-1.3.2.jar:上傳時使用io讀寫。ognl.jar (OGNL表達式語言,與EL相似,但比EL強大)。Freemarker.jar(模板框架,可以替代JSP)。4)Struts2框架配置文件:Struts.xml:開發者使用,用于定義Action,Result組件。Struts-default.xml:框架置配置,定義了框架底層必要的運行組件。Bean和struts-default的packge在struts-core.jar包中。Dperties:框架

30、置配置,定義了一些框架系統參數例如框。架處理字符的編碼,請求類型等.在struts-core.jar包中。5)Action基本配置:a.元素,可以有多個,用于定義一組屬性:指定package名稱,多個package時不能重名。extends屬性:指定繼承哪個package,通常指定為space屬性:指定請求的前綴,默認/.避免請求名一樣時沖突。b.元素,可以有多個.用于定義具體某一個Action組件。name屬性:指定該Action對應的請求名。class屬性:指定Action組件的包名.類名。method屬性:指定調用Action組

31、件的哪個方法.默認為execute。c.元素,可以有多個,用于定義某一個響應視圖。name屬性:指定視圖標識符,與action業務方法返回值相關。5 Hibernate3.0技術(1)Hibernate框架作用Hibernate框架主要是用于實現數據庫操作.簡化數據庫的增刪改查原有數據庫操作使用JDBC技術,具有以下問題:a.編寫復雜的Sql語句;b.需要編碼完成實體對象與數據庫記錄之間映射。c.數據庫移植性較差,例如不同數據庫分頁查詢不同。為了解決上述問題,產生一種解決方案ORM:ObjectRelationMapping對象關系映射。實現Java對象與關系數據,表數據之間的映射。7(2)H

32、ibernate框架原理Hibernate是基于ORM機制實現的.對JDBC技術進行了封裝.利用Hibernate可以以對象形式操作數據。例如可以將對象添加到數據庫,可以將數據庫記錄取出返回對象.session.save(user):User user =(User)session.load(User.class,1)。(3)Hibernate框架的基本應用Hibernate體系結構:a.Java對象(Entity);b.映射描述文件(*.hbm.xml)用于定義實體類和數據表之間對應關系;c.數據表;d.主配置文件(hibernate.cfg.xml)用于定義數據庫連接參數和hibernat

33、e框架配置參數。8使用Hibernate步驟:a.導入Hibernate和數據庫驅動開發包b.添加hibernate主配置(1個)c.根據數據表編寫實體類(n個)d.編寫hbm.xml映射描述文件(n個)e.利用Hibernate API完成數據庫操作。Configuration:負責加載Hibernate主配置.SessionFactory:負責創建Session對象。該對象創建比較耗費資源,因為需要加載hbm.xml信息,預先生成常規的預編譯的SQL.Session:負責以對象方式對數據庫進行增刪改查save():添加操作:update():更新操作:delete():刪除操作:load(

34、):按主鍵值查詢Transaction:負責事務管理.默認JDBC自動提交事務,而Hibernate關閉了自動提交,因此需要顯式commit.Query:負責各種方式的查詢。6 Spring技術圖4 Spring框架示意圖(1)Spring框架整體結構Spring框架主要由以下6大模塊組成。a.Core核心模塊是各個模塊基礎,主要提供IOC容器和依賴注入支持。b.AOP模塊主要提供AOP實現支持。c.DAO模塊主要提供整合JDBC技術與其事務控制的支持。d.ORM模塊主要提供整合各種ORM框架與其事務控制的支持。e.WEB模塊主要提供整合各種WEB技術的支持,例如Struts.此外還提供了Sp

35、ring的MVC實現。f.JEE模塊主要提供整合JavaEE服務一些支持。例如JMS消息服務Email發送服務E等。9(2)SSH開發步驟:a.引入spring開發包和主配置applicationContext.xml。b.引入Hibernate開發包,dbcp包,數據庫驅動包。c.根據數據表創建實體類和hbm映射文件。d.編寫DAO接口和實現類。e.在Spring容器中定義DAO組件,需要注入SessionFactory,essionFactory需要注入DataSource。f.建議利用junit測試下DAO組件。g.引入struts開發包和主配置struts.xml。h.在web.xml

36、中配置sturts主控制器filter。i.編寫Action組件,注意dao或service采取注入形式使用,需名稱匹配規則。j.在struts.xml中,配置Action組件;。k.編寫Jsp。l.引入Struts和Spring整合的插件包struts2-spring-plugin.jar。m.在web.xml中添加ContextLoaderListener配置,在服務器啟動時實例化Spring容器。采用AOP方式實現事務管理:Spring中常用事務類型:REQUIRED支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。SUPPORTS支持當前事務,如果當前沒有事務,就以非事

37、務方式執行。MANDATORY支持當前事務,如果當前沒有事務,就拋出異常。REQUIRES_NEW新建事務,如果當前存在事務,把當前事務掛起。NOT_SUPPORTED以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。NEVER以非事務方式執行,如果當前存在事務,則拋出異常。NESTED如果當前存在事務,則在嵌套事務執行。如果當前沒有事務,則進行與REQUIRED類似的操作。擁有多個可以回滾的保存點,部回滾不會對外部事務產生影響。只對DataSourceTransactionManager有效。(4)Spring中AOP實現原理(動態代理技術)當使用AOP切入后,目標對象返回時,返回的

38、是Spring容器采用動態代理機制生成一個類型.Spring提供了兩種生成方式:1采用JDK中提供的Proxy,為有接口定義的Bean組件提供public class $Proxy0 implements ,原目標對象接口接口類型 變量 = (接口類型)$proxy0對象。2采用CGLIB工具包,為無接口定義的Bean組件提供public class $Proxy0 extends 目標類型目標類型 變量 = (目標類型)$Proxy0對象。107 MVC技術圖5 MVC架構示意圖在JavaWeb設計與開發方面,比較經典的架構為MVC架構“M”指的模型(Mode)。“模型”在開發過程中指的是持

39、久層,再具體點說就是代碼中的DAO(持久層),Service(業務層),Bean組件等,這些用于分析問題的邏輯關系和算法序列的表示體系都屬于模型的疇。“V”指的是視圖(View)在不同的領域所用的技術不同如:Jsp,PHP,Html都屬于視圖技術,是直接展現給用戶的。在Java中使用的是Jsp頁面,一種動態的頁面技術。“C”指的是控制器(Control)。這種架構方法,將一個項目有條理的分成了三個部分,從而使開發過程中代碼與代碼之間的耦合度降低。11(2)MVC好處和工作流程好處是:程序組件便于管理,便于日后維護和擴展。a.首先由視圖V發出請求。b.請求交給控制器C。c.控制器C調用模型M。d

40、.控制器C調用視圖V響應。(3)在JavaWeb中可以實現MVC結構的技術組合方案一:JSP+Servlet+JavaBean。方案二:JSP+Filter+JavaBean(4)改造控制器,提高通用性和靈活性a.客戶端發送請求,請求到達控制器。b.控制器解析一個XML配置文件(定義請求和Action組件對應關系)。c控制器調用與當前請求對應的Action。d Action可以調用DAO完成數據庫操作。e控制器調用一個JSP視圖為客戶端響應。128 Ajax 技術(1)Ajax,有什么作用全稱Asynchronous JavaScript And XML異步的JavaScript和XML。Aj

41、ax可以解決傳統Web程序的一些弊端,提升用戶使用系統體驗度。傳統Web程序,采用下面工作模式。用戶發送請求-等待服務器處理-頁面響應。傳統Web程序出現問題如下:a.用戶在等待處理階段,什么都不能做.無法進行下一步操作,連續性不強。b.整個頁面刷新,處理中,需要很多數據。參與客戶端和服務器的傳輸。(2)Ajax原理和使用步驟Ajax原理:利用瀏覽器置的XML Request對象采用異步/同步方式發送 請求,服務器處理完畢,返回XML/Text數據給XML Request對象,之后調用事前注冊的回調函數將數據,顯示到HTML頁面。使用步驟:a.客戶端程1創建XML Request對象。2利用X

42、ML Request對象創建和發送請求。3調用事先注冊的回調函數,處理服務器響應數據。b.服務器端程序Servlet、JSP返回的數據為XML或Text格式。(3)XML RequestAjax示例獲取XML Request對:IE5-ActiveXObject、其他-XML Request。注冊界面用戶名唯一性檢查。(4)XML Request對象使用函數:open(type,url,asyn):創建一個 請求。type:指定請求類型,例如get,post等。Url:指定請求地址、asyn:指定請同步還是異步,true表示異步(不寫時默認為true)。send(data):發送 請求,dat

43、a:指定請求參數.如果請求為get,使用null值。事件:onreadystatechange事件,利用該事件綁定一個回調函數,處理服務器返回的數據。當readyState屬性值發生改變時,執行處理。13屬性:readyState 指的是請求處理狀態。0:請求未初始化,未執行open函數。1:請求初始化完畢,未發送.未執行send函數。2:請求已發送.執行了send函數。3:請求處理中,服務器Servlet正在處理。4:請求處理完畢。Status指的是 處理狀態碼。200:正確處理完畢、404:找不到對應資源、500:找到資源,部運行出錯。esponseText :獲取服務器返回的Text容。

44、注意:該屬性在readyState為4時才可以使用。responseXML:獲取服務器返回的XM容。14圖6 Ajax請求步驟圖(5)Ajax編程常見問題瀏覽器緩存:IE瀏覽器經常會將GET類型的URL請求,結果緩存,當再次發出一樣URL請求時不會去服務器端重新加載,而是將瀏覽器緩存容取出。解決方法有以下兩種。 采用POST方式發請求、采用GET方式發請求。采用POST方式發請求,xhr.open(post,url):xhr.setRequestHeader(content-type,application/x-form-urlencoded):xhr.send(key1=value1&key

45、2=value2);。采用GET方式發請求,可以使用時間戳url?time=+new Date*().getTime()。中文傳遞亂碼 :如果Ajax請求需要傳遞中文,建議使用POST方式發送請求.Ajax默認采用UTF-8編碼.在服務器Servlet中,使用req.setCharacterEncoding(UTF-8)解碼。3.2系統運行環境1 JDK是SUN公司開發的產品,是針對java開發的它包括了java在運行時的一些必要環境和一些基礎的工具類。2數據庫軟件MySQL一種開源穩定速度優秀的數據庫,本身性能非常的優越在開發型企業項目時也非常優秀。3 Web服務器TomcatTomcat作

46、為一個Web服務器,本身具備了基本的Web服務功能,在SUN的力推下,將來或許越來越強壯到不需要借助Apache優勢的地步。(JakartaTomcat服務器是在SUN公司的JSWDK(javaServer Web DevelopmentKit,是SUN公司推出的小型Servlet/JSP調試工具)的基礎上發展起來的一個優秀的Servlet/JSP容器,它是 Apache-Jakarta軟件組織的一個子項目,在OpenSource的模型下進行進一步的開發。它不但支持運行Servlet和JSP,而且還具備了作為商業Java Web應用容器的特征。)Tomcat很受廣大程序員的喜歡,因為它運行時占

47、用的系統資源小,擴展性好,支持負載平衡與服務等開發應用系統常用的功能,而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個小型的輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP程序的首選。圖7 Tomcate服務器示意圖第四章 系統設計4.1 官網系統官網的設計主要以美觀、簡潔、商務的形式將企業的概貌展現給用戶。4.1.1 官網首頁的設計圖8官網首頁模塊圖官網的基本信息包括導航窗口、企業的基本服務、最新信息等。在官網導航窗口可以跳轉到,圖書出售、后臺管理,兩個重要的系統。首頁主題是HTML與flash

48、的結合。最新質詢等即時消息為ajax請求。最新技術的結合給用戶帶來簡捷美觀的視覺感、網頁點擊的流暢感,從而給用戶直觀的瀏覽爽快體驗。4.1.2 官網最新資訊設計最新資訊的設計為Jsp頁面技術,在后臺管理系統,可以直接進行維護與更新,不需要懂得前臺的Html技術。不僅節省了人力支出而且使辦公更加效率化。局部信心的更新依然為Ajax請求(異步處理)整個頁面不進行刷新,帶給客戶更好的體驗感。圖 9新聞發布模塊截圖4.2 圖書出售系統針對海大的特色而量身定做的圖書出售系統。其中包括了網絡購書地基本功能如:用戶的注冊與登錄、圖書的瀏覽,圖書的分類、訂單的生成、購物車系統、個人信息管理系統等。4.2.1

49、圖書出售用戶登錄模塊設計主要用于客戶的登錄,通過身份驗證獲得用戶基本的信息。圖 10圖書出售登陸頁面4.2.2 圖書出售用戶注冊模塊為暫且不是海大出版會員的用戶,與想在海大出版購書的用戶提供用戶的注冊。企業為客戶進行后續服務必須獲得用戶的基本信息(如聯系方式等),用戶注冊時獲得客戶基本信息的方式之一。該頁面包含了企業對客戶信息的初步驗證,在未通過驗證時表單不能提交。如對email、等格式是否符合標準,可以通過正則表達式進行初步驗證。圖11圖書系統用戶注冊示意圖 4.2.3圖書出售首頁首頁大體分為五塊,每塊信息即時更新均為Ajax請求需要局部更新時已有的信息不會刷新,(整頁面不刷新)只是局部小圍

50、更新。網頁瀏覽更加順暢。圖12圖書出售官網4.2.4分類瀏覽頁面進行圖書的分類瀏覽級購買,整個頁面均為動態的jsp技術,左側導航欄管理員可以登陸后臺的官網管理系統行為修改添加圖書總類,非常的簡單快捷即使不懂得Html技術的管理人員也可以通過后臺來管理維護前臺界面。使得人員得到了充分的利用且提高了工作效率。圖 13圖書分類瀏覽4.2.5購物車、訂單生成設計購物車邏輯可以對沒結算的物品進行整加、刪除、修改操作。點結算可以進行付款、生成訂單等操作。購物車中的商品應用了cookie技術,即物品在沒有付款或刪除前即使關閉瀏覽器也不會消失,系統設置了cookie的保存時間在本次項目中保存時間為3天,這中設

51、計方便了用戶。在用戶再次點開購物車的過程中系統會判定cookie購物車中是否有商品如果有的話會優先恢復購物車。這樣即使不小心關閉瀏覽器也不用擔心物品消失重新購買的問題。圖14購物車示意圖圖15訂單生成示意圖4.2.6 用戶個人信息管理設計對個人信息的管理與以買物品的瀏覽的操作,可以直觀的查看自己最新的交易等個人信息。如已購商品、最近成交商品、自己的所有收貨地址、最近生成的訂單等操作。圖16個人信息示意圖4.3 辦公系統應該說沒有多少人懷疑計算機OA系統(自動化辦公系統)的出現的意義。計算機OA系統的出現給辦公人員帶來了便利,但是對現代的辦公自動化而言,其目的己經不局限于減輕員工的工作量,而是要

52、將工作人員從繁瑣的事務、業務邏輯、工作方式解放出來,用更多的精力去關注更重要的事情。從而提高企業的效率、增強企業的綜合競爭能力。在這樣辦公方式下,企業的組織結構、工作職能,能夠得到簡化,各個部門在信息共有化的基礎上進行協調工作,這樣便于明確各個部門甚至吸味道每個工作人員的責任,而領導層可以迅速綜合采納來自多方面的資訊信息,并以此為依據制定企業的發展方針。從這個意義上講,在市場競爭越來越據烈化的今天,辦公自動化系統己經不再是一種單一的手段而是一種工具,更成為決定企業未來發展,生存空間的命脈。本次OA辦公系統假定的企業為“海洋大學”是一個集圖書出版、銷售的中和性、各種業務集合的中型企業。而后臺的O

53、A辦公系統集成了企業的 員工管理、會員管理、圖書管理、官網管理等模塊。4.3.1 用戶身份驗證模塊設計HYPERLINK :/baike.baidu /view/3314.htm計算機網絡世界中一切信息包括用戶的HYPERLINK :/baike.baidu /view/1034208.htm身份信息都是用一組特定的數據來表示的,計算機只能識別用戶的數字身份,所有對用戶的授權也是針對用戶數字身份的授權。在登陸過程中必須輸入正確的用戶名、密碼、和驗證嗎。其中任何一項錯誤用戶將登陸失敗。驗證碼的驗證是ajax請求,驗證碼錯誤系統會直接提醒。設計圖如下:圖 17登錄模塊示意圖4.3.2 官網管理模塊

54、設計主要用于官網信息的維護發布信息等圖 18官網信息的維護發布模塊4.3.3 職工管理模塊職工管理模塊包括了對職工基本信息查看、刪除、修改、批量選擇、全部反選、查找的操、按特定方式排序等操作。該模塊主要用于管理人員對員工信息的查看,修改等操作。設計圖如下所示:圖 19 職工管理模塊示意圖4.3.4 用戶信息管理設計用戶信息管理模塊包括了對職工基本信息查看、刪除、修改、批量選擇、全部反選、查找的操、按特定方式排序等操作。系統管管理員登陸此模塊可以對用戶信息進行維護。圖20 用戶信息圖 21 用戶詳細信息4.3.5 系統管理設計最高級管理員通過此頁面可以添加新的管理員,并可以通過這個模塊管理其他低

55、級管理員信息。在必要的情況下可以對其他地級管理員進行增刪改查。圖 22管理員信息4.4 數據庫設計在開發設計數據庫過曾中是最為關鍵的一步,數據庫的設計可以說是整個項目的基礎,萬事開頭難在設計數據庫之前設計人員要充分了解企業的業務需求了解全部的表格進而去設計進一步的去規劃表與表這間的關系是多對多、多對一、一對一還是繼承的關系等。數據庫設計的好壞將直接影響后續的開發,因為在開發過程中改數據庫結構屬于最大的忌諱所以在架構數據庫之前要充分考慮好表的信息。4.4.1數據庫概念設計由于數據庫過于龐大表格邏輯繁復在論文中不一一列舉在此舉例說明。(1)用戶信息管理模塊的E-R圖如下圖所示:圖 23 數據庫管理

56、員信息(3)圖書銷售網、目錄、訂單、地址圖書、 購物車 等部分數據信息。圖 24 其它數據庫信息4.4.2 數據庫邏輯設計在本次開發過曾中涉與的用戶表、訂單表、目錄表、物品表等。因為引進了Hibernate框架所以表示表之間的關系已將在配置文件中設計完畢,在查詢的過曾中方便簡潔。例:如用戶d_user與訂單d_order之間是一對多的關系,在查詢d_user的過程中Hibernate可以通過事先建立好的用戶與訂單之間的關系通過簡單的語句查出全部用戶。第五章 系統實現5.1 系統架構在本次系統的開發中住要的架構思想是MVC架構在此基礎上應用來當今主流的SSH框架。在JavaWeb設計與開發方面,

57、比較經典的架構為MVC架構“M”指的模型(Mode)。“模型”在開發過程中指的是持久層,再具體點說就是代碼中的DAO(持久層),Service(業務層),Bean組件等,這些用于分析問題的邏輯關系和算法序列的表示體系都屬于模型的疇。“V”指的是視圖(View)在不同的領域所用的技術不同如:Jsp,PHP,Html都屬于視圖技術,是直接展現給用戶的。在Java中使用的是Jsp頁面,一種動態的頁面技術。“C”指的是控制器(Control)。這種架構方法,將一個項目有條理的分成了三個部分,從而使開發過程中代碼與代碼之間的耦合度降低。在MVC架構的基礎上,現今比較成熟穩定的框架技術是SSH。SSH是成

58、熟、穩定、開源的三大框架。S指的是Struct2,在針對MVC架構中Struct2框架扮演著控制器(control)的角色。在視圖層與服務器交互的過程中由struct2來控制,它的底層技術是Servlet。第2個S指的是Spring這個開源框架。Spring充當的是一個容器的角色,在實例化Bean組件、調用Bean組件、實例化Service層時,都用Spring這個框架實例化并調用。Spring框架的出現大幅度降低了代碼與代碼之間的耦合性,在Spring框架中經典的是AOP(面向切面編程)與IOC控制反轉。H指的是Hibernate ,這個框架主要服務于持久層。它的出現解決了繁瑣的數據庫查詢工

59、作,直接重邏輯對象中調用查詢數據即可。是一個智能化比較強的框架,處理不好會使服務器性能大大降低。5.1.1 系統架構圖Struct2為控制器作為框架它對Servlet進行了封裝,使得控制器運用起來更方便而且可以使得控制視圖化。圖25 SSH框架系統結構圖Spring充當一個容器,包容了所有的bean組件、實體類,甚至Struct2與hibernate也包含在。在后續的調用實體類或是實例化實體類是都由spring這個管家來實現降低了代碼與代碼之間的耦合性。Hibernate數據庫進行了封裝使得在查詢數據的過程總更加的簡便。5.1.2 程序結構圖圖26 項目結構圖 .ugSoft.dang.act

60、ion 文件夾:主要存放Struct2框架的響應代碼是控制器部分。.ugSoft.dang.bean文件夾:主要存放跟中bean組件。圖27 bean文件夾部分組價截圖如圖 購物車組件、購物車列表組件、異常處理組件、訂單生成組件等。.ugSoft.dang.code 文件夾:用于驗證碼圖片給的生成、密碼的加密、驗證碼的驗證等。.ugSoft.dang.cookie 文件夾:用于對cookie的各種操作如:生成cookie、刪除cookie、設計cookie生成時間等操作。.ugSoft.dang.dao 文件夾:項目的持久層,整個項目的最底層用于和數據庫之間數據的交互。.ugSoft.dang

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論