基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文_第1頁
基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文_第2頁
基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文_第3頁
基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文_第4頁
基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文畢業(yè)論文(設計)基于SSH框架的Web網(wǎng)站設計與實現(xiàn)學生姓名:指導教師:(講師)專業(yè)名稱:通信工程所在學院:信息工程學院基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第1頁。2013年6月基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第1頁。目錄TOC\o"1-2"\h\z\u22218摘要 第一章前言在JavaWeb設計與開發(fā)方面,比較經(jīng)典的架構為MVC架構“M”指的模型(Mode)?!澳P汀痹陂_發(fā)過程中指的是持久層,再具體點說就是代碼中的DAO(持久層),Service(業(yè)務層),Bean組件等,這些用于分析問題的邏輯關系和算法序列的表示體系都屬于模型的范疇?!癡”指的是視圖(View)在不同的領域所用的技術不同如:Jsp,PHP,Html都屬于視圖技術,是直接展現(xiàn)給用戶的。在Java中使用的是Jsp頁面,一種動態(tài)的頁面技術?!癈”指的是控制器(Control)。這種架構方法,將一個項目有條理的分成了三個部分,從而使開發(fā)過程中代碼與代碼之間的耦合度降低。[1]1.1研究目的和意義應該說沒有多少人懷疑計算機OA系統(tǒng)(自動化辦公系統(tǒng))的出現(xiàn)的意義。計算機OA系統(tǒng)的出現(xiàn)給辦公人員帶來了便利,但是對現(xiàn)代的辦公自動化而言,其目的己經(jīng)不局限于減輕員工的工作量,而是要將工作人員從繁瑣的事務、業(yè)務邏輯、工作方式解放出來,用更多的精力去關注更重要的事情。從而提高企業(yè)的效率、增強企業(yè)的綜合競爭能力。在這樣辦公方式下,企業(yè)的組織結構、工作職能,能夠得到簡化,各個部門在信息共有化的基礎上進行協(xié)調(diào)工作,這樣便于明確各個部門甚至細微到每個每個工作人員的責任,而領導層可以迅速綜合采納來自多方面的資訊信息,并以此為依據(jù)制定企業(yè)的發(fā)展方針。從這個意義上講,在市場競爭越來越據(jù)烈化的今天,辦公自動化系統(tǒng)己經(jīng)不再是一種單一的手段、而是一種工具,更成為決定企業(yè)未來發(fā)展,生存空間的命脈。1.2國內(nèi)外研究現(xiàn)狀電子商務在現(xiàn)今信息飛速發(fā)展的今天有著舉足輕重的地位,當今淘寶、當當網(wǎng)、銀行服務系統(tǒng)、企業(yè)銷售官網(wǎng)等都屬于電子商務范疇。[2]電子商務的出現(xiàn)使得許多繁瑣、邏輯性高、需要大量人力物力的工作可以通過遠程網(wǎng)絡的形式來處理解決。大大減少了人力物力的投資,提高了工作效率。1.3研究內(nèi)容與方法基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第5頁。在MVC架構的基礎上,現(xiàn)今比較成熟穩(wěn)定的框架技術是SSH框架。SSH是成熟、穩(wěn)定、開源的三大框架。S的是Struct2,在針對MVC架構中Struct2框架扮演著控制器(Control)的角色。在視圖層與服務器交互的過程中由struct2來控制,它的底層技術是Servlet。第二個S指的是Spring這個開源框架,Spring充當?shù)氖且粋€容器的角色在實例化Bean組件、調(diào)用Bean組件、實例化Service層實時,都用Spring這個容器統(tǒng)一實例化并調(diào)用。Spring框架的出現(xiàn)大幅度降低了代碼與代碼之間的耦合度,在Spring框架中經(jīng)典的是AOP(面向切面編程)與IOC控制反轉。H指的是Hibernate這個框架主要服務于持久層。它的出現(xiàn)解決了繁瑣的數(shù)據(jù)庫查詢工作,直接面對邏輯對象編程與查詢更加體現(xiàn)出Java面向?qū)ο缶幊痰奶攸c。Hibernate是一個智能化比較高的框架,使用不好會使服務器效率大大降低。[3]基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第5頁。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第6頁。

第二章可行性與需求分析基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第6頁。2.1可行性分析1組織和管理可行性基于電子商務Web門戶的辦公自動化系統(tǒng)采用分模塊的開發(fā)方式,將整個項目分為三個大系統(tǒng),分別為圖書出售系統(tǒng),官網(wǎng)網(wǎng)站最新資訊系統(tǒng),和后臺的OA辦公管理系統(tǒng)。在三大系統(tǒng)的基礎上又分為若干個模塊,如:OA系統(tǒng)的,員工管理模塊、官網(wǎng)管理模塊、圖書管理模塊,圖書出售系統(tǒng),訂單生成模塊、分類瀏覽模塊等。2經(jīng)濟可行性所謂的經(jīng)濟可行性為在針對企業(yè)開發(fā)智能化辦公系統(tǒng)的過程中,所投入的人力物力軟件系統(tǒng)的前期花費,在后期軟件的運營過程中是否能帶來相應的效益、是否能給使用者帶來方便、這工作人員從繁復的邏輯中解放出來從而獲得更大的利益,提高工作效率。3技術可行性在針對企業(yè)的切實業(yè)務開發(fā)過程中,視圖界面的制作時通過現(xiàn)有的功能全面、強大的Dreamweaver開發(fā)制作。在整體布局上強調(diào)的是簡潔、美觀、大方、功能全面和操作的簡易可行。服務器采用的是穩(wěn)定開源的Tomcate服務器。在針對中小型企業(yè)開發(fā)過程中Tomcate服務器可以完美的兼容開發(fā)程序。數(shù)據(jù)的處理采用的是Mysql數(shù)據(jù)庫,也是一款開源穩(wěn)定的數(shù)據(jù)庫,兼容多種語言而且速度非??臁2捎玫氖墙?jīng)典的MVC架構。框架方面引進的是SSH框架是當今javaEEweb開發(fā)中主流的框架?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第7頁。在MVC架構的基礎上,現(xiàn)今比較成熟穩(wěn)定的框架技術是SSH。SSH是成熟、穩(wěn)定、開源的三大框架。S指的是struct2,在針對MVC架構中Struct2框架扮演著控制器(control)的角色。在視圖層與服務器交互的過程中由Struct2來控制,它的底層技術是Servlet。第2個S指的是Spring這個開源框架。Spring充當?shù)氖且粋€容器的角色,在實例化Bean組件、調(diào)用Bean組件、實例化Service層時,都用Spring這個框架實例化并調(diào)用。Spring框架的出現(xiàn)大幅度降低了代碼與代碼之間的耦合性,在Spring框架中經(jīng)典的是AOP(面向切面編程)與IOC控制反轉。H指的是Hibernate,這個框架主要服務于持久層。它的出現(xiàn)解決了繁瑣的數(shù)據(jù)庫查詢工作,直接從邏輯對象中調(diào)用查詢數(shù)據(jù)即可。是一個智能化比較強的框架,處理不好會使服務器性能大大降低?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第7頁。2.2需求分析2.2.1官網(wǎng)系統(tǒng)功能分析企業(yè)網(wǎng)站不僅代表著企業(yè)的網(wǎng)絡品牌形象,同時也是開展網(wǎng)絡營銷的根據(jù)地,網(wǎng)站建設的水平對網(wǎng)絡營銷的效果有直接影響。企業(yè)網(wǎng)站的功能主要表現(xiàn)在八個方面:品牌形象、產(chǎn)品/服務展示、信息發(fā)布、顧客服務、顧客關系、網(wǎng)上調(diào)查、網(wǎng)上聯(lián)盟、網(wǎng)上銷售。2.2.2圖書出售系統(tǒng)分析1業(yè)務流程圖1網(wǎng)購基本流程圖2圖書出售功能分析用戶身份驗證模塊(登陸模塊)計算機網(wǎng)絡世界中一切信息包括用戶的身份信息都是用一組特定的數(shù)據(jù)來表示的,計算機只能識別用戶的數(shù)字身份,所有對用戶的授權也是針對用戶數(shù)字身份的授權。通過登錄的方式對用戶的身份進行驗證,以便于系統(tǒng)確定用戶的身份更好的為用戶服務。(2)用戶注冊模塊通過注冊獲取用戶的信息,并給與用戶一定的權限.為后續(xù)的系統(tǒng)服務提供具體的對象。(3)圖書瀏覽、購書模塊根據(jù)不同的需求,提供給客戶部同的瀏覽方式。包括圖書查詢、分類瀏覽,按時間瀏覽等,用戶想購買的圖書可以添加到購物出付款,購買信息將根據(jù)用戶信息進行綁定。(4)購物車模塊基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第8頁。該模塊可以將出版圖書集中付款、批量刪除、修改圖書數(shù)量、結算。同一用戶登陸時可以恢復購物車,未結算商品可以繼續(xù)結算并且結算后購物車清空。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第8頁。(5)訂單生成模塊根據(jù)用戶的具體信息生成訂單,并與用戶的唯一信息(id)進行綁定。在生成訂單過程中用戶可以自由的決定是否保留本次的訂單地址。(6)我的信息模塊該模塊中購物網(wǎng)用戶可以清洗直觀的,看到自己的個人信息、訂單、地址,并提供對這些信息的修改、增加、刪除、查找等操作。2.2.3OA商務管理系統(tǒng)功能分析1業(yè)務流程:OA該系統(tǒng)的主要流程是系統(tǒng)管理員或普通用戶通過登錄模塊進入系統(tǒng)主頁,之后可以選擇相應的功能對自己的信息進行處理。業(yè)務流程圖如圖所示:圖2OA系統(tǒng)業(yè)務流程圖2后臺OA商務管理系統(tǒng)功能分析OA后臺管理系統(tǒng)如下:(1)管理員登陸模塊基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第9頁。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第9頁。(2)用戶信息管理模塊可以查看全部用戶的信息,修改部分用戶的信息。便于管理員管理維護購書網(wǎng)系統(tǒng)的用戶信息。(3)訂單信息管理模塊提供用戶訂單的增加、刪除、修改等必要的工作。提供訂單的分類瀏覽操作如:按生成時間排序、按是否成交排序等操作。(4)員工信息管理模塊該模塊提供對員工的增加、刪除、修改等必要的工作。工資新宿調(diào)整、人員的調(diào)度、部門的更換的操作。(5)官網(wǎng)管理模塊對企業(yè)官網(wǎng)的信息進行動態(tài)的維護。如新聞的發(fā)布、文件的上傳、文件的下載、最新注意事項、視頻的上傳。(6)圖書管理模塊該模塊提供圖書的管理、上架、下架、新圖書發(fā)行、圖書信息瀏覽等操作。主要用于管理圖書銷售網(wǎng)圖書的發(fā)行、發(fā)售、上架,和圖書的分類級熱銷圖書模塊、編輯推薦模塊的圖書維護?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第10頁。

第三章設計技術與系統(tǒng)運行環(huán)境基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第10頁。3.1設計技術1頁面技術(JSP)(1)Jsp是什么?JavaServerPage(Ava服務器端頁面技術)Sun公司制訂的一種服務器端動態(tài)頁面生成技術的規(guī)范,在Jsp技術當中,只需要在Html標記當中,添加少量的java代碼,就可以實現(xiàn)動態(tài)頁面。因為直接使用Servlet輸出動態(tài)頁面非常麻煩(需要使用OutPrintln),并且難以維護(如果頁面發(fā)生改變,需要修改Java代碼)。所以Sun公司才會制訂Jsp規(guī)范。(2)Jsp是如何執(zhí)行的?Step1:容器先將.jsp文件轉換成一個.java文件(其實,就是將Jsp轉換成一個對應的Servlet)。a,HtmlService方法里,使用out.write輸出(write方法會將“null”轉換成""輸出)。b,<%%>Service方法里,照搬。c,<%=%>Service方法里,使用out.print輸出。out.print():step2:執(zhí)行Servlet的Service方法。2JavaBean組件技術JavaBean是一種Java類,它遵從一定的設計模式,使它們易于和其他開發(fā)工具和組件一起使用。JavaBean是一種Java語言寫成的可重用組件。為寫成JavaBean,類必須是具體的類和公共的類,并且具有無參數(shù)的構造器。JavaBean通過提供符合一致性設計模式的公共方法將內(nèi)部域暴露稱為屬性。眾所周知,屬性名稱符合這種模式,其他Java類可以通過自身機制發(fā)現(xiàn)和操作這些JavaBean屬性。[4]3Servlet技術(1)什么是Servlet?Sun公司制訂的一種用于擴展Web服務器功能的組件規(guī)范,擴展Web服務器功能?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第11頁。早期的web服務器(比如apachewebserver,is)只能夠處理靜態(tài)資源的請求(需要事先將頁面文件寫好,并存放到服務器特定的目錄下面),不能夠處理動態(tài)資源的請求即依據(jù)請求參數(shù),通過計算,生成一個新的頁面)。擴展方式,早期是使用CGI程序來擴展:CGI(commongatewayinterface),CGI是一個規(guī)范,約定了Web服務器與CGI程序(使用Perl,C等語言開發(fā)的,并且符合CGI規(guī)范的程序)相互調(diào)用的過程。CGI程序有三個問題:a,開發(fā)比較復雜(需要開發(fā)人員去解析請求參數(shù));b,可移值性比較差(C,Perl等語言依賴于平臺);c,性能問題(一個請求,會啟動一個進程,進程的開銷比較大)?,F(xiàn)在,可以使用Servlet來擴展。[5]基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第11頁。(2)Servlet是如何運行的?在瀏覽器地址欄輸入http://localhost:8080/項目名/訪問路徑Step1:瀏覽器依據(jù)Ip,Port建立與服務器之間的連接。Step2:瀏覽器將請求數(shù)據(jù)(請求資源路徑,請求參數(shù))按照http協(xié)議,打包(http請求數(shù)據(jù)包),發(fā)送給服務器。Step3:服務器解析請求數(shù)據(jù)包,將請求數(shù)據(jù)封裝到Request對象里面(封裝的目的,是為了方便Servlet獲得請求數(shù)據(jù)包中的數(shù)據(jù),如果沒有Request對象,就需要在Servlet類里面編寫、解析請求數(shù)據(jù)包的代碼)。另外,服務器還會創(chuàng)建一個對象Response對象(用來存放servlet處理的結果)。[6]Step4,服務器依據(jù)請求資源路徑(web01/sayHello)找到對應的Servlet的配置,創(chuàng)建Servlet對象。Step5,服務器會調(diào)用Servlet對象的Service方法(在調(diào)用該方法時,會將事先創(chuàng)建好的Request,Response對象作為參數(shù)傳遞進來)??梢栽赟ervice方法里面,通過Request獲得請求數(shù)據(jù),也可以將處理之后的結果存放到Response對象上。Step6,服務器從response對象上取出處理結果,生成響應數(shù)據(jù)包。發(fā)送給瀏覽器。Step7,瀏覽器解析響應數(shù)據(jù)包,取出處理結果,生成相應的界面。4Struts2技術基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第12頁。Struts框架是基于MVC模式結構,基于Struts開發(fā)可以簡化開發(fā)過程?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第12頁。圖3Struct2框架結構圖(1)Struts2框架應用1)使用步驟:a.引入struts開發(fā)包b.在web.xml中添加控制器Filter配置。b在src下添加一個struts.xml配置文件(控制器配置文件)。dc編寫JSP,Action,DAO等組件。d在struts.xml中添加配置(定義請求和Action對應關系)。2)引入Struts開發(fā)包,(5個必須包,文件上傳時需要引io包)struts2-core-2.1.8.jar:Struts2開發(fā)包。xwork.jar:xwork:內(nèi)核包。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:開發(fā)者使用,用于定義Action,Result組件。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第13頁。Struts-default.xml:框架內(nèi)置配置,定義了框架底層必要的運行組件?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第13頁。Bean和struts-default的packge在struts-core.jar包中。Dperties:框架內(nèi)置配置,定義了一些框架系統(tǒng)參數(shù)例如框。架處理字符的編碼,請求類型等.在struts-core.jar包中。5)Action基本配置:a.<package>元素,可以有多個,用于定義一組屬性:指定package名稱,多個package時不能重名。extends屬性:指定繼承哪個package,通常指定為"struts-default"。namespace屬性:指定請求的前綴,默認"/".避免請求名相同時沖突。b.<action>元素,可以有多個.用于定義具體某一個Action組件。name屬性:指定該Action對應的請求名。class屬性:指定Action組件的包名.類名。method屬性:指定調(diào)用Action組件的哪個方法.默認為execute。c.<result>元素,可以有多個,用于定義某一個響應視圖。name屬性:指定視圖標識符,與action業(yè)務方法返回值相關。5Hibernate3.0技術(1)Hibernate框架作用Hibernate框架主要是用于實現(xiàn)數(shù)據(jù)庫操作.簡化數(shù)據(jù)庫的增刪改查原有數(shù)據(jù)庫操作使用JDBC技術,具有以下問題:a.編寫復雜的Sql語句;b.需要編碼完成實體對象與數(shù)據(jù)庫記錄之間映射。c.數(shù)據(jù)庫移植性較差,例如不同數(shù)據(jù)庫分頁查詢不同。為了解決上述問題,產(chǎn)生一種解決方案ORM:ObjectRelationMapping對象關系映射。實現(xiàn)Java對象與關系數(shù)據(jù),表數(shù)據(jù)之間的映射。[7](2)Hibernate框架原理Hibernate是基于ORM機制實現(xiàn)的.對JDBC技術進行了封裝.利用Hibernate可以以對象形式操作數(shù)據(jù)。例如可以將對象添加到數(shù)據(jù)庫,可以將數(shù)據(jù)庫記錄取出返回對象.session.save(user):Useruser=(User)session.load(User.class,1)。(3)Hibernate框架的基本應用基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第14頁。Hibernate體系結構:a.Java對象(Entity);b.映射描述文件(*.hbm.xml)用于定義實體類和數(shù)據(jù)表之間對應關系;c.數(shù)據(jù)表;d.主配置文件(hibernate.cfg.xml)用于定義數(shù)據(jù)庫連接參數(shù)和hibernate框架配置參數(shù)。[8]基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第14頁。使用Hibernate步驟:a.導入Hibernate和數(shù)據(jù)庫驅(qū)動開發(fā)包b.添加hibernate主配置(1個)c.根據(jù)數(shù)據(jù)表編寫實體類(n個)d.編寫hbm.xml映射描述文件(n個)e.利用HibernateAPI完成數(shù)據(jù)庫操作。Configuration:負責加載Hibernate主配置.SessionFactory:負責創(chuàng)建Session對象。該對象創(chuàng)建比較耗費資源,因為需要加載hbm.xml信息,預先生成常規(guī)的預編譯的SQL.Session:負責以對象方式對數(shù)據(jù)庫進行增刪改查save():添加操作:update():更新操作:delete():刪除操作:load():按主鍵值查詢Transaction:負責事務管理.默認JDBC自動提交事務,而Hibernate關閉了自動提交,因此需要顯式commit.Query:負責各種方式的查詢。6Spring技術圖4Spring框架示意圖(1)Spring框架整體結構Spring框架主要由以下6大模塊組成。a.Core核心模塊是各個模塊基礎,主要提供IOC容器和依賴注入支持。b.AOP模塊主要提供AOP實現(xiàn)支持。c.DAO模塊基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第15頁。主要提供整合JDBC技術及其事務控制的支持?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第15頁。d.ORM模塊主要提供整合各種ORM框架及其事務控制的支持。e.WEB模塊主要提供整合各種WEB技術的支持,例如Struts.此外還提供了Spring的MVC實現(xiàn)。f.JEE模塊主要提供整合JavaEE服務一些支持。例如JMS消息服務Email郵件發(fā)送服務EJB等。[9](2)SSH開發(fā)步驟:a.引入spring開發(fā)包和主配置applicationContext.xml。b.引入Hibernate開發(fā)包,dbcp包,數(shù)據(jù)庫驅(qū)動包。c.根據(jù)數(shù)據(jù)表創(chuàng)建實體類和hbm映射文件。d.編寫DAO接口和實現(xiàn)類。e.在Spring容器中定義DAO組件,需要注入SessionFactory,essionFactory需要注入DataSource。f.建議利用junit測試下DAO組件。g.引入struts開發(fā)包和主配置struts.xml。h.在web.xml中配置sturts主控制器filter。i.編寫Action組件,注意dao或service采取注入形式使用,需名稱匹配規(guī)則。j.在struts.xml中,配置Action組件;。k.編寫Jsp。l.引入Struts和Spring整合的插件包struts2-spring-plugin.jar。m.在web.xml中添加ContextLoaderListener配置,在服務器啟動時實例化Spring容器。采用AOP方式實現(xiàn)事務管理:基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第16頁。Spring中常用事務類型:REQUIRED支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。SUPPORTS支持當前事務,如果當前沒有事務,就以非事務方式執(zhí)行。MANDATORY支持當前事務,如果當前沒有事務,就拋出異常。REQUIRES_NEW新建事務,如果當前存在事務,把當前事務掛起。NOT_SUPPORTED以非事務方式執(zhí)行操作,如果當前存在事務,就把當前事務掛起。NEVER以非事務方式執(zhí)行,如果當前存在事務,則拋出異常。NESTED如果當前存在事務,則在嵌套事務內(nèi)執(zhí)行。如果當前沒有事務,則進行與REQUIRED類似的操作。擁有多個可以回滾的保存點,內(nèi)部回滾不會對外部事務產(chǎn)生影響。只對DataSourceTransactionManager有效?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第16頁。(4)Spring中AOP實現(xiàn)原理(動態(tài)代理技術)當使用AOP切入后,目標對象返回時,返回的是Spring容器采用動態(tài)代理機制生成一個類型.Spring提供了兩種生成方式:1采用JDK中提供的Proxy,為有接口定義的Bean組件提供publicclass$Proxy0implements,原目標對象接口接口類型變量=(接口類型)$proxy0對象。2采用CGLIB工具包,為無接口定義的Bean組件提供publicclass$Proxy0extends目標類型目標類型變量=(目標類型)$Proxy0對象。[10]7MVC技術圖5MVC架構示意圖在JavaWeb設計與開發(fā)方面,比較經(jīng)典的架構為MVC架構“M”指的模型(Mode)?!澳P汀痹陂_發(fā)過程中指的是持久層,再具體點說就是代碼中的DAO(持久層),Service(業(yè)務層),Bean組件等,這些用于分析問題的邏輯關系和算法序列的表示體系都屬于模型的范疇?!癡”指的是視圖(View)在不同的領域所用的技術不同如:Jsp,PHP,Html都屬于視圖技術,是直接展現(xiàn)給用戶的。在Java中使用的是Jsp頁面,一種動態(tài)的頁面技術?!癈”指的是控制器(Control)。這種架構方法,將一個項目有條理的分成了三個部分,從而使開發(fā)過程中代碼與代碼之間的耦合度降低。[11]基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第17頁。(2)MVC好處和工作流程基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第17頁。好處是:程序組件便于管理,便于日后維護和擴展。a.首先由視圖V發(fā)出請求。b.請求交給控制器C。c.控制器C調(diào)用模型M。d.控制器C調(diào)用視圖V響應。(3)在JavaWeb中可以實現(xiàn)MVC結構的技術組合方案一:JSP+Servlet+JavaBean。方案二:JSP+Filter+JavaBean(4)改造控制器,提高通用性和靈活性a.客戶端發(fā)送請求,請求到達控制器。b.控制器解析一個XML配置文件(定義請求和Action組件對應關系)。c控制器調(diào)用與當前請求對應的Action。dAction可以調(diào)用DAO完成數(shù)據(jù)庫操作。e控制器調(diào)用一個JSP視圖為客戶端響應。[12]8Ajax技術(1)Ajax,有什么作用全稱AsynchronousJavaScriptAndXML異步的JavaScript和XML。Ajax可以解決傳統(tǒng)Web程序的一些弊端,提升用戶使用系統(tǒng)體驗度。傳統(tǒng)Web程序,采用下面工作模式。用戶發(fā)送請求-->等待服務器處理-->頁面響應。傳統(tǒng)Web程序出現(xiàn)問題如下:a.用戶在等待處理階段,什么都不能做.無法進行下一步操作,連續(xù)性不強。b.整個頁面刷新,處理中,需要很多數(shù)據(jù)。參與客戶端和服務器的傳輸。(2)Ajax原理和使用步驟Ajax原理:利用瀏覽器內(nèi)置的XMLHttpRequest對象采用異步/同步方式發(fā)送HTTP請求,服務器處理完畢,返回XML/Text數(shù)據(jù)給XMLHttpRequest對象,之后調(diào)用事前注冊的回調(diào)函數(shù)將數(shù)據(jù),顯示到HTML頁面。使用步驟:a.客戶端程1創(chuàng)建XMLHttpRequest對象。2利用XMLHttpRequest對象創(chuàng)建和發(fā)送請求。3調(diào)用事先注冊的回調(diào)函數(shù),處理服務器響應數(shù)據(jù)。b.服務器端程序Servlet、JSP返回的數(shù)據(jù)為XML或Text格式。(3)XMLHttpRequestAjax示例獲取XMLHttpRequest對:IE5-->ActiveXObject、其他-->XMLHttpRequest。注冊界面用戶名唯一性檢查。(4)XMLHttpRequest對象使用函數(shù):open(type,url,[asyn]):創(chuàng)建一個HTTP請求。type:指定請求類型,例如"get","post"等。Url:指定請求地址、asyn:指定請求是同步還是異步,true表示異步(不寫時默認為true)。send(data):發(fā)送HTTP請求,data:指定請求參數(shù).如果請求為get,使用null值。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第18頁。事件:onreadystatechange事件,利用該事件綁定一個回調(diào)函數(shù),處理服務器返回的數(shù)據(jù)。當readyState屬性值發(fā)生改變時,執(zhí)行處理。[13]基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第18頁。屬性:readyState指的是請求處理狀態(tài)。0:請求未初始化,未執(zhí)行open函數(shù)。1:請求初始化完畢,未發(fā)送.未執(zhí)行send函數(shù)。2:請求已發(fā)送.執(zhí)行了send函數(shù)。3:請求處理中,服務器Servlet正在處理。4:請求處理完畢。Status指的是HTTP處理狀態(tài)碼。200:正確處理完畢、404:找不到對應資源、500:找到資源,內(nèi)部運行出錯。esponseText:獲取服務器返回的Text內(nèi)容。注意:該屬性在readyState為4時才可以使用。responseXML:獲取服務器返回的XM內(nèi)容。[14]圖6Ajax請求步驟圖(5)Ajax編程常見問題瀏覽器緩存:IE瀏覽器經(jīng)常會將GET類型的URL請求,結果緩存,當再次發(fā)出相同URL請求時不會去服務器端重新加載,而是將瀏覽器緩存內(nèi)容取出。解決方法有以下兩種。采用POST方式發(fā)請求、采用GET方式發(fā)請求。采用POST方式發(fā)請求,xhr.open("post",url):xhr.setRequestHeader("content-type","application/x-www-form-urlencoded):xhr.send("key1=value1&key2=value2");。采用GET方式發(fā)請求,可以使用時間戳"url?time="+newDate*().getTime()?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第19頁。中文傳遞亂碼:如果Ajax請求需要傳遞中文,建議使用POST方式發(fā)送請求.Ajax默認采用UTF-8編碼.在服務器Servlet中,使用req.setCharacterEncoding("UTF-8")解碼?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第19頁。3.2系統(tǒng)運行環(huán)境1JDK是SUN公司開發(fā)的產(chǎn)品,是針對java開發(fā)的它包括了java在運行時的一些必要環(huán)境和一些基礎的工具類。2數(shù)據(jù)庫軟件MySQL一種開源穩(wěn)定速度優(yōu)秀的數(shù)據(jù)庫,本身性能非常的優(yōu)越在開發(fā)中大型企業(yè)項目時也非常優(yōu)秀。3Web服務器TomcatTomcat作為一個Web服務器,本身具備了基本的Web服務功能,在SUN的力推下,將來或許越來越強壯到不需要借助Apache優(yōu)勢的地步。(JakartaTomcat服務器是在SUN公司的JSWDK(javaServerWebDevelopmentKit,是SUN公司推出的小型Servlet/JSP調(diào)試工具)的基礎上發(fā)展起來的一個優(yōu)秀的Servlet/JSP容器,它是Apache-Jakarta軟件組織的一個子項目,在OpenSource的模型下進行進一步的開發(fā)。它不但支持運行Servlet和JSP,而且還具備了作為商業(yè)JavaWeb應用容器的特征。)Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能,而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。圖7Tomcate服務器示意圖基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第20頁。

第四章系統(tǒng)設計基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第20頁。4.1官網(wǎng)系統(tǒng)官網(wǎng)的設計主要以美觀、簡潔、商務的形式將企業(yè)的概貌展現(xiàn)給用戶。4.1.1官網(wǎng)首頁的設計圖8官網(wǎng)首頁模塊圖官網(wǎng)的基本信息包括導航窗口、企業(yè)的基本服務、最新信息等。在官網(wǎng)導航窗口可以跳轉到,圖書出售、后臺管理,兩個重要的系統(tǒng)。首頁主題是HTML與flash的結合。最新質(zhì)詢等即時消息為ajax請求。最新技術的結合給用戶帶來簡捷美觀的視覺感、網(wǎng)頁點擊的流暢感,從而給用戶直觀的網(wǎng)站瀏覽爽快體驗。4.1.2官網(wǎng)最新資訊設計基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第21頁?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第21頁。圖9新聞發(fā)布模塊截圖4.2圖書出售系統(tǒng)針對海大出版社的特色而量身定做的圖書出售系統(tǒng)。其中包括了網(wǎng)絡購書地基本功能如:用戶的注冊與登錄、圖書的瀏覽,圖書的分類、訂單的生成、購物車系統(tǒng)、個人信息管理系統(tǒng)等。4.2.1圖書出售用戶登錄模塊設計主要用于客戶的登錄,通過身份驗證獲得用戶基本的信息。圖10圖書出售登陸頁面4.2.2圖書出售用戶注冊模塊基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第22頁。為暫且不是海大出版會員的用戶,及想在海大出版購書的用戶提供用戶的注冊。企業(yè)為客戶進行后續(xù)服務必須獲得用戶的基本信息(如聯(lián)系方式等),用戶注冊時獲得客戶基本信息的方式之一?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第22頁。該頁面包含了企業(yè)對客戶信息的初步驗證,在未通過驗證時表單不能提交。如對email、電話號碼等格式是否符合標準,可以通過正則表達式進行初步驗證。圖11圖書系統(tǒng)用戶注冊示意圖4.2.3圖書出售首頁首頁大體分為五塊,每塊信息即時更新均為Ajax請求需要局部更新時已有的信息不會刷新,(整頁面不刷新)只是局部小范圍更新。網(wǎng)頁瀏覽更加順暢。圖12圖書出售官網(wǎng)4.2.4分類瀏覽頁面基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第23頁。進行圖書的分類瀏覽級購買,整個頁面均為動態(tài)的jsp技術,左側導航欄管理員可以登陸后臺的官網(wǎng)管理系統(tǒng)行為修改添加圖書總類,非常的簡單快捷即使不懂得Html技術的管理人員也可以通過后臺來管理維護前臺界面。使得人員得到了充分的利用且提高了工作效率?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第23頁。圖13圖書分類瀏覽4.2.5購物車、訂單生成設計購物車邏輯可以對沒結算的物品進行整加、刪除、修改操作。點結算可以進行付款、生成訂單等操作。購物車中的商品應用了cookie技術,即物品在沒有付款或刪除前即使關閉瀏覽器也不會消失,系統(tǒng)內(nèi)設置了cookie的保存時間在本次項目中保存時間為3天,這中設計方便了用戶。在用戶再次點開購物車的過程中系統(tǒng)會判定cookie購物車中是否有商品如果有的話會優(yōu)先恢復購物車。這樣即使不小心關閉瀏覽器也不用擔心物品消失重新購買的問題?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第24頁。圖14購物車示意圖基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第24頁。圖15訂單生成示意圖4.2.6用戶個人信息管理設計對個人信息的管理及以買物品的瀏覽的操作,可以直觀的查看自己最新的交易等個人信息。如已購商品、最近成交商品、自己的所有收貨地址、最近生成的訂單等操作。圖16個人信息示意圖4.3辦公系統(tǒng)基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第25頁。應該說沒有多少人懷疑計算機OA系統(tǒng)(自動化辦公系統(tǒng))的出現(xiàn)的意義。計算機OA系統(tǒng)的出現(xiàn)給辦公人員帶來了便利,但是對現(xiàn)代的辦公自動化而言,其目的己經(jīng)不局限于減輕員工的工作量,而是要將工作人員從繁瑣的事務、業(yè)務邏輯、工作方式解放出來,用更多的精力去關注更重要的事情。從而提高企業(yè)的效率、增強企業(yè)的綜合競爭能力。在這樣辦公方式下,企業(yè)的組織結構、工作職能,能夠得到簡化,各個部門在信息共有化的基礎上進行協(xié)調(diào)工作,這樣便于明確各個部門甚至吸味道每個工作人員的責任,而領導層可以迅速綜合采納來自多方面的資訊信息,并以此為依據(jù)制定企業(yè)的發(fā)展方針。從這個意義上講,在市場競爭越來越據(jù)烈化的今天,辦公自動化系統(tǒng)己經(jīng)不再是一種單一的手段而是一種工具,更成為決定企業(yè)未來發(fā)展,生存空間的命脈?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第25頁。本次OA辦公系統(tǒng)假定的企業(yè)為“大連海洋大學出版社”是一個集圖書出版、銷售的中和性、各種業(yè)務集合的中型企業(yè)。而后臺的OA辦公系統(tǒng)集成了企業(yè)的員工管理、會員管理、圖書管理、官網(wǎng)管理等模塊。4.3.1用戶身份驗證模塊設計計算機網(wǎng)絡世界中一切信息包括用戶的身份信息都是用一組特定的數(shù)據(jù)來表示的,計算機只能識別用戶的數(shù)字身份,所有對用戶的授權也是針對用戶數(shù)字身份的授權。在登陸過程中必須輸入正確的用戶名、密碼、和驗證嗎。其中任何一項錯誤用戶將登陸失敗。驗證碼的驗證是ajax請求,驗證碼錯誤系統(tǒng)會直接提醒。設計圖如下:圖17登錄模塊示意圖4.3.2官網(wǎng)管理模塊設計主要用于官網(wǎng)信息的維護發(fā)布信息等基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第26頁。圖18官網(wǎng)信息的維護發(fā)布模塊基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第26頁。4.3.3職工管理模塊職工管理模塊包括了對職工基本信息查看、刪除、修改、批量選擇、全部反選、查找的操、按特定方式排序等操作。該模塊主要用于管理人員對員工信息的查看,修改等操作。設計圖如下所示:圖19職工管理模塊示意圖4.3.4用戶信息管理設計用戶信息管理模塊包括了對職工基本信息查看、刪除、修改、批量選擇、全部反選、查找的操、按特定方式排序等操作。系統(tǒng)管管理員登陸此模塊可以對用戶信息進行維護?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第27頁。圖20用戶信息基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第27頁。圖21用戶詳細信息4.3.5系統(tǒng)管理設計最高級管理員通過此頁面可以添加新的管理員,并可以通過這個模塊管理其他低級管理員信息。在必要的情況下可以對其他地級管理員進行增刪改查。圖22管理員信息4.4數(shù)據(jù)庫設計基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第28頁。在開發(fā)設計數(shù)據(jù)庫過曾中是最為關鍵的一步,數(shù)據(jù)庫的設計可以說是整個項目的基礎,萬事開頭難在設計數(shù)據(jù)庫之前設計人員要充分了解企業(yè)的業(yè)務需求了解全部的表格進而去設計進一步的去規(guī)劃表與表這間的關系是多對多、多對一、一對一還是繼承的關系等。數(shù)據(jù)庫設計的好壞將直接影響后續(xù)的開發(fā),因為在開發(fā)過程中改數(shù)據(jù)庫結構屬于最大的忌諱所以在架構數(shù)據(jù)庫之前要充分考慮好表的信息?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第28頁。4.4.1數(shù)據(jù)庫概念設計由于數(shù)據(jù)庫過于龐大表格邏輯繁復在論文中不一一列舉在此舉例說明。(1)用戶信息管理模塊的E-R圖如下圖所示:圖23數(shù)據(jù)庫管理員信息(3)圖書銷售網(wǎng)、目錄、訂單、地址圖書、購物車等部分數(shù)據(jù)信息。圖24其它數(shù)據(jù)庫信息4.4.2數(shù)據(jù)庫邏輯設計在本次開發(fā)過曾中涉及的用戶表、訂單表、目錄表、物品表等。因為引進了Hibernate框架所以表示表之間的關系已將在配置文件中設計完畢,在查詢的過曾中方便簡潔。例:如用戶d_user與訂單d_order之間是一對多的關系,在查詢d_user的過程中Hibernate可以通過事先建立好的用戶與訂單之間的關系通過簡單的語句查出全部用戶。 基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第29頁。

基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第29頁。第五章系統(tǒng)實現(xiàn)5.1系統(tǒng)架構在本次系統(tǒng)的開發(fā)中住要的架構思想是MVC架構在此基礎上應用來當今主流的SSH框架。在JavaWeb設計與開發(fā)方面,比較經(jīng)典的架構為MVC架構“M”指的模型(Mode)?!澳P汀痹陂_發(fā)過程中指的是持久層,再具體點說就是代碼中的DAO(持久層),Service(業(yè)務層),Bean組件等,這些用于分析問題的邏輯關系和算法序列的表示體系都屬于模型的范疇?!癡”指的是視圖(View)在不同的領域所用的技術不同如:Jsp,PHP,Html都屬于視圖技術,是直接展現(xiàn)給用戶的。在Java中使用的是Jsp頁面,一種動態(tài)的頁面技術?!癈”指的是控制器(Control)。這種架構方法,將一個項目有條理的分成了三個部分,從而使開發(fā)過程中代碼與代碼之間的耦合度降低。在MVC架構的基礎上,現(xiàn)今比較成熟穩(wěn)定的框架技術是SSH。SSH是成熟、穩(wěn)定、開源的三大框架。S指的是Struct2,在針對MVC架構中Struct2框架扮演著控制器(control)的角色。在視圖層與服務器交互的過程中由struct2來控制,它的底層技術是Servlet。第2個S指的是Spring這個開源框架。Spring充當?shù)氖且粋€容器的角色,在實例化Bean組件、調(diào)用Bean組件、實例化Service層時,都用Spring這個框架實例化并調(diào)用。Spring框架的出現(xiàn)大幅度降低了代碼與代碼之間的耦合性,在Spring框架中經(jīng)典的是AOP(面向切面編程)與IOC控制反轉。H指的是Hibernate,這個框架主要服務于持久層。它的出現(xiàn)解決了繁瑣的數(shù)據(jù)庫查詢工作,直接重邏輯對象中調(diào)用查詢數(shù)據(jù)即可。是一個智能化比較強的框架,處理不好會使服務器性能大大降低。5.1.1系統(tǒng)架構圖Struct2為控制器作為框架它對Servlet進行了封裝,使得控制器運用起來更方便而且可以使得控制視圖化。圖25SSH框架系統(tǒng)結構圖基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第30頁。Spring充當一個容器,包容了所有的bean組件、實體類,甚至Struct2與hibernate也包含在內(nèi)。在后續(xù)的調(diào)用實體類或是實例化實體類是都由spring這個‘管家’來實現(xiàn)降低了代碼與代碼之間的耦合性?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第30頁。Hibernate數(shù)據(jù)庫進行了封裝使得在查詢數(shù)據(jù)的過程總更加的簡便。5.1.2程序結構圖圖26項目結構圖com.ugSoft.dang.action文件夾:主要存放Struct2框架的響應代碼是控制器部分。com.ugSoft.dang.bean文件夾:主要存放跟中bean組件。圖27bean文件夾部分組價截圖基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第31頁。如圖購物車組件、購物車列表組件、異常處理組件、訂單生成組件等。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第31頁。com.ugSoft.dang.code文件夾:用于驗證碼圖片給的生成、密碼的加密、驗證碼的驗證等。com.ugSoft.dang.cookie文件夾:用于對cookie的各種操作如:生成cookie、刪除cookie、設計cookie生成時間等操作。com.ugSoft.dang.dao文件夾:項目的持久層,整個項目的最底層用于和數(shù)據(jù)庫之間數(shù)據(jù)的交互。com.ugSoft.dang.entity文件夾:存放實體累即數(shù)據(jù)庫中的表格在java中邏輯對象的映射。com.ugSerceptor文件夾:存放各種攔截器如未登錄禁止操作后臺OA系統(tǒng)的身份攔截器。com.ugSoft.dang.service系統(tǒng)的業(yè)務層次存放了系統(tǒng)各種業(yè)務邏輯。config存放了各種配置文件如圖所示。如三大框架的配置文件。圖28框架配置文件截圖Libraries文件目錄存放各種開發(fā)過程中所需要的jar包。如下圖所示Core為spring的核心開發(fā)包,Aop為spring的面向切面編程開發(fā)包,JDCC為spring的jdbc開發(fā)包。圖29部分開發(fā)包文件夾截圖WebRoot/css存放jsphtml頁面的一些樣式,頁面中個各種格式有css文件來控制?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第32頁?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第32頁。Web/WebRoot/js存放各種前臺開發(fā)的插件.js文件,如jquare的jquery-1.4.4.js文件。WebRoot/WEB-INF主要存放各種前臺的頁面,.jsp與.html文件。5.2持久層Hibernate實現(xiàn)5.2.1創(chuàng)建并配置Hibernate映射文件圖30Hibernate配置文件截圖Hibernate體系結構:a.Java對象(Entity);b.映射描述文件(*.hbm.xml)用于定義實體類和數(shù)據(jù)表之間對應關系;c.數(shù)據(jù)表;d.主配置文件(hibernate.cfg.xml)用于定義數(shù)據(jù)庫連接參數(shù)和hibernate框架配置參數(shù)。使用Hibernate步驟:a.導入hibernate和數(shù)據(jù)庫驅(qū)動開發(fā)包。b.添加hibernate主配置(1個);c.根據(jù)數(shù)據(jù)表編寫實體類(n個);d.編寫hbm.xml映射描述文件(n個);e.利用HibernateAPI完成數(shù)據(jù)庫操作。Configuration:負責加載hibernate主配置.SessionFactory:負責創(chuàng)建Session對象。該對象創(chuàng)建比較耗費資源,因為需要加載hbm.xml信息,預先生成常規(guī)的預編譯的SQL.Session:負責以對象方式對數(shù)據(jù)庫進行增刪改查save():添加操作:update():更新操作:delete():刪除操作:load():按主鍵值查詢Transaction:負責事務管理.默認JDBC自動提交事務,而Hibernate關閉了自動提交,因此需要顯式commit.Query:負責各種方式的查詢。5.2.2開發(fā)并配置HibernateDAO層基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第33頁。Hibernate框架主要是用于實現(xiàn)數(shù)據(jù)庫操作。簡化數(shù)據(jù)庫的增刪改查原有數(shù)據(jù)庫操作使用JDBC技術,具有以下問題:a.編寫復雜的sql語句;b.需要編碼完成實體對象與數(shù)據(jù)庫記錄之間映射;c.數(shù)據(jù)庫移植性較差,例如不同數(shù)據(jù)庫分頁查詢不同。為了解決上述問題,產(chǎn)生一種解決方案ORM:ObjectRelationMapping對象關系映射。實現(xiàn)Java對象與關系數(shù)據(jù),表數(shù)據(jù)之間的映射。如下圖Dbook.hbm.xml為Hibernate對Book.java邏輯對象的映射文件?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第33頁。圖31實體類與Hibernate映射文件5.3控制層Struts實現(xiàn)5.3.1開發(fā)Struts控制器文件:6個文件分別是針對不同模塊還劃分出來的控制器配置文件如圖,分別是:主頁面控制器、購物車控制器等。圖32部分Struct2控制器配置文件struts.xml:開發(fā)者使用,用于定義Action,Result組件。struts-default.xml:框架內(nèi)置配置.定義了框架底層必要的運行組件Bean和struts-default的packge.在struts-core.jar包中。perties:框架內(nèi)置配置.定義了一些框架系統(tǒng)參數(shù)例如框架處理字符的編碼,請求類型等.在struts-core.jar包中?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第34頁。如下圖33所示為order控制器根據(jù)不同的響應的到的不同結果,圖示左側藍色方框為返回的Html或Jsp頁面,右側黃色方框為控制器與之相連接的是后臺的控制器代碼?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第34頁。圖33部分Struct2控制器視圖化截圖5.3.2開發(fā)JSP頁面原型如下圖所示為jsp頁面,在服務器響應的結尾servlet會以.print的形式將查詢的結構(數(shù)據(jù))和必要的java代碼片段與html的視圖代碼輸出最終形成我面見到的動態(tài)jsp頁面。圖34部分JSP頁面員文件截圖5.3.3增加表單校驗功能基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第35頁。表單驗證功能通過輕量級插件(使用Jquare編寫)來完成??梢酝昝赖膶崿F(xiàn)表單的Ajax請求、表單的驗證錯誤提示與窗口提示?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第35頁。如下圖為針對表單中email格式是否正確email是否已經(jīng)被他人注冊(ajax請求)的驗證代碼片段。不同的驗證結構將以不同的方式反饋給用戶。下圖為表單驗證的效果圖。圖35部分表單驗證Jquare代碼圖36表單驗證效果圖基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第36頁。

基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第36頁。不同的觸發(fā)效果表單會有不同的視圖顯示本次設計中分為3中顏色。當鼠標指向具體方格是(既觸發(fā)OnShow事件)會提示具體的操作方法鼠標離開時會顯示輸入是否符合要求,如果正確會顯示對號。如果未通過驗證點擊注冊按鈕會提示地一個不符合標準的信息。如圖37所示:圖37不同觸發(fā)效果示意圖5.4業(yè)務層Spring實現(xiàn)如圖所示為Spring的基本結構圖,在整體的項目中Spring框架充當容器的角色集中調(diào)度與管理各個組件?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第37頁。圖38Spring框架結構圖基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第37頁。5.4.1數(shù)據(jù)源配置圖39配置文件使用Spring開發(fā)時根據(jù)實際需要引入必要的開發(fā)包,其中包括了Spring框架的核心文件。如在開發(fā)過程中想使用AOP進行事物管理等操作必須引用schema/aop/spring-aop-2.5.xsd文件。5.4.2配置SessionFactory圖40SessionFactoryBean組件將sessionFactory(與數(shù)據(jù)庫的連接操作)以Bean組件的形式交給Spring來調(diào)度處理,Spring本身是一個容器將許多組件與操作包容在自身內(nèi)進行統(tǒng)一的調(diào)度與處理。如:value="classpath:config/hibernate/hibernate.cfg.xml"是Hibernate配置文件具體的地址。這句話的用意是將配置文件裝入Spring容器內(nèi)進行統(tǒng)一的調(diào)度與分配,從而實現(xiàn)Spring框架對數(shù)據(jù)庫的操作。如下所示。Spring>Hibernate>JDBC|||基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第38頁。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第38頁。5.4.3配置事務圖41Spring事務管理Bean組件Spring框架進行事務管理前必須將進行事務管理的類以Bean組件的形式引入Spring容器,此后將SessionFactory引進事務管理類以便于數(shù)據(jù)操作的統(tǒng)一性。配置完事務管理后可以在實體類前通過注解的形式進行事務管理如圖所示:圖42通過聲明方式進行事務管理如上圖表示在調(diào)用到名為MainServiceImp的業(yè)務層時事務管理開啟,(readOnly=true)表示事務管理開啟只有一次如果業(yè)務邏輯操作失敗事務將回滾(即數(shù)據(jù)庫操作回滾)。5.4.4配置DAO組件Spring框架在項目運行過程中如果涉及到對數(shù)據(jù)庫的操作必須調(diào)用DAO組件,所以如果想對數(shù)據(jù)庫進行操作必須將DAO組件引進Spring框架內(nèi),同時為每個DAO組件聲明SessionFactory的路徑以便于DAO組件與數(shù)據(jù)庫之間進行數(shù)據(jù)的交互。圖43部分到組件截圖基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第39頁?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第39頁。第六章結論與建議電子商務及后臺管理的辦公自動化系統(tǒng),以企業(yè)的管理、企業(yè)的基本業(yè)務、基礎辦公需求作為項目的開發(fā)與設計重點。它是基于B/S模式的電子商務系統(tǒng)與服務管理系統(tǒng),它集先進的計算機技術與電子商務和辦公自動化理論于一身,適應當今大多數(shù)企業(yè)電子商務門戶網(wǎng)站以及辦公自動化系統(tǒng)的開發(fā)需求。通過了解企業(yè)的業(yè)務需求,實際業(yè)務邏輯合理的規(guī)劃分析,并采分系統(tǒng)分模塊化的開發(fā)機制,使用當今主流的系統(tǒng)開發(fā)技術,經(jīng)過兩個多月的開發(fā)與設計,電子商務及后臺公自動化系統(tǒng)的用戶身份驗證模塊、圖書選購模塊、圖書瀏覽模塊、官網(wǎng)管理模塊和其他基本功能模塊已開發(fā)成為一個較完善的信息交互平臺,初步具備實際使用的能力。在系統(tǒng)的開發(fā)過程中,我對系統(tǒng)開發(fā)與實際應用、數(shù)據(jù)庫的設計、項目結構的規(guī)劃與管理有了更深認識,為我以后的工作與學習打下了堅實的理論基礎與實際操作經(jīng)驗。同時在項目開發(fā)過程中,我對JSP技術、數(shù)據(jù)庫的使用、框架的應用、HTML等相關技術與理論知識也有了更深層次的理解與認識。由于理論的理解深度與開發(fā)設計能力有限、開發(fā)經(jīng)驗不足系統(tǒng)仍存在部分業(yè)務邏輯上的漏洞與許多不足,與實際企業(yè)應用中還有很大差距。在調(diào)研階段對企業(yè)的業(yè)務不夠了解,搜集的信息不充足,對實際異常情況的處理不夠了解。因此項目在設計與開發(fā)過程中企業(yè)業(yè)務的需求分析不透徹,系統(tǒng)的功能模塊及工作流程不能在項目設計之初完整地確定與規(guī)劃下來。系統(tǒng)模塊的某些功能是隨著項目的設計的進行而逐步確定與修改的,在一些功能模塊中仍存在業(yè)務邏輯不完善之處,頁面設計需進一步美化,系統(tǒng)后臺管理方面需給予進一步重視。數(shù)據(jù)庫的設計方面也存在一些后期發(fā)現(xiàn)的設計不足與考慮不周?;赟SH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第40頁。基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第40頁。致謝在我的指導老師張妍老師的悉心指導下,我的畢業(yè)設計和畢業(yè)論文圓滿完成了。在中小企業(yè)電子商務與辦公自動化系統(tǒng)的開發(fā)過程中,我得到了指導老師的細心指導。老師與我一起研討開發(fā)項目并及時指出項目的不足,為我提供了諸多開發(fā)實例,幫助我進行調(diào)研和系統(tǒng)的分析,耐心地指導我進行開發(fā)和解決問題。她嚴密的邏輯思維以及嚴謹?shù)闹螌W態(tài)度都給予了我深刻的印象與極大的幫助,在她的幫助下我不斷進項目的完善與自我的提高。在此過程中張妍老師對于我遇到的所有困難和問題,都給予了細心的解答和真誠的幫助,在此我表示由衷的感謝。在這里我還要感謝那些幫助我的同學們,在開發(fā)過程中難免遇到諸多開發(fā)問題與異常,我們以積極上進的精神、刻苦鉆研、互相幫助使項目設計目標得以實現(xiàn)。我很高興能在這樣有凝聚力和好學上進的氛圍中學習和工作,是大家的支持與幫助讓我的畢業(yè)設計和論文能夠順利完成!此外,我的畢業(yè)設計課題得以很好的完成,這和我的學校給我提供的良好的學習環(huán)境與工作環(huán)境密不可分,以及設計過程給予我支持和幫助的各位老師是分不開的特此向他們表示衷心的感謝!在此,我向所有幫助過我的老師、同學和朋友們表示真摯的感謝以及美好的祝福。祝愿大家在今后的日子里,百尺竿頭,更進一步!基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第41頁。

參考文獻基于SSH框架的Web網(wǎng)站設計與實現(xiàn)畢業(yè)設計論文全文共46頁,當前為第41頁。[1]夏昕,曹曉剛,唐勇著.深入淺出Hibernate北京電子工業(yè)出版社2005.6,56-88[2]孫衛(wèi)琴編著.Hibernate:Java對象持久化技術詳解2版北京電子工業(yè)出版社2010.2,23-30[3](Mak.G)著,丁雪豐等譯.Spring攻略北京人民郵電出版社2009.8,20-50[4]Spring從入門到精通北京清華大學出版社,15-20[5]MartinFowler著,王懷民,周賦譯.企業(yè)應用架構模式機械工業(yè)出版社2006..0,20-66[6]BruceEckel著,陳吳鵬譯.Java編程思想地4版機械工業(yè)出版社2010.8,45-76[7]劉曉華.JSP應用開發(fā)詳解[M]北京電子工業(yè)出版社2007.5,10-18[8]耿祥義,張躍平.JAVA2實用教程北京清華大學出版社2004.2,40-79[9]王立.UML與軟件工程基礎北京高等教育出版社2004.2,33-55[10]蔡劍,景楠.JavaWeb應用開發(fā)北京:高等教育出版社,2005.1,10-19[11]葉達鋒.Eclipse編程技術與實例北京人民郵電出版社,2006.1,22-33[12]HibernateAPIDocumentation(3.2.0.ga)TheprojectfilesofthisHTMLHelpWeregeneratedwithJd2chmversion0.3Copyright?2000-2003AndreBurgaud[13]Struts2Core2.0.11APITheApacheSoft

溫馨提示

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

最新文檔

評論

0/150

提交評論