畢業(yè)論文-基于SSH的寬帶業(yè)務管理系統(tǒng)_第1頁
畢業(yè)論文-基于SSH的寬帶業(yè)務管理系統(tǒng)_第2頁
畢業(yè)論文-基于SSH的寬帶業(yè)務管理系統(tǒng)_第3頁
畢業(yè)論文-基于SSH的寬帶業(yè)務管理系統(tǒng)_第4頁
畢業(yè)論文-基于SSH的寬帶業(yè)務管理系統(tǒng)_第5頁
已閱讀5頁,還剩87頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 Broadband service management system based on SSHAbstractSince entering the 21st century, the rapid development of computers, computer applications, IT comprehensive infiltration of human society in all aspects of information technology to become a world economic and social development trend.The man

2、agement of enterprises from manual to automated, intelligent and efficient. It completely replaces the working way of artificial management originally and offers a powerful tool and management way to complete management for prompt, accurate , high-efficient .In order to adapt to modern information m

3、anagement. My system made using of technology of JAVA and Oracle Database 10g Edition the skill of DataBase ,and MyEclipse is tool of design.The functions of the system are: login of admin, management of broadband business ;management of customer;the query of customers information .The paper mainly

4、introduced the development background , the function and the entire development process of this system .This article especially explain the system design ,the thought of the design ,the impracticable skill and the solution . At the same time,The paper mainly introduced the development background and

5、 the entire development process of this system .Keywords: broadband business; SSH ; JSP; Oracle; MyEclipse目 錄TOC o 1-3 h u HYPERLINK l _Toc7781 摘 要 PAGEREF _Toc7781 i HYPERLINK l _Toc13938 Abstract PAGEREF _Toc13938 ii HYPERLINK l _Toc25393 1 緒論 PAGEREF _Toc25393 1 HYPERLINK l _Toc30450 1.1 課題背景 PAG

6、EREF _Toc30450 1 HYPERLINK l _Toc17320 1.2 選題意義 PAGEREF _Toc17320 1 HYPERLINK l _Toc968 2 編程環(huán)境及相關(guān)技術(shù) PAGEREF _Toc968 2 HYPERLINK l _Toc22031 2.1 概述 PAGEREF _Toc22031 2 HYPERLINK l _Toc22257 2.2 B/S模式 PAGEREF _Toc22257 2 HYPERLINK l _Toc7701 2.3 MyEclipse開發(fā)工具 PAGEREF _Toc7701 2 HYPERLINK l _Toc6269 2.

7、3.1 概述 PAGEREF _Toc6269 2 HYPERLINK l _Toc29243 2.3.2 MyEclipse 8.5 版本特性 PAGEREF _Toc29243 3 HYPERLINK l _Toc8400 2.4 Oracle 10g數(shù)據(jù)庫 PAGEREF _Toc8400 3 HYPERLINK l _Toc23958 2.4.1 概述 PAGEREF _Toc23958 3 HYPERLINK l _Toc6627 2.4.2 Oracle 10g數(shù)據(jù)庫特點 PAGEREF _Toc6627 3 HYPERLINK l _Toc26765 2.5 Tomcat服務器

8、PAGEREF _Toc26765 4 HYPERLINK l _Toc8079 2.5.1 概述 PAGEREF _Toc8079 4 HYPERLINK l _Toc18551 2.5.2 Tomcat的配置 PAGEREF _Toc18551 4 HYPERLINK l _Toc32551 2.6 Struts技術(shù) PAGEREF _Toc32551 5 HYPERLINK l _Toc13644 2.6.1 概述: PAGEREF _Toc13644 5 HYPERLINK l _Toc30958 2.6.2 Struts優(yōu)勢 PAGEREF _Toc30958 6 HYPERLINK

9、 l _Toc24008 2.6.3 MVC模式 PAGEREF _Toc24008 6 HYPERLINK l _Toc14889 2.6.4 Struts啟動步驟 PAGEREF _Toc14889 7 HYPERLINK l _Toc30123 2.7 Spring技術(shù) PAGEREF _Toc30123 7 HYPERLINK l _Toc15584 2.7.1 Spring特性 PAGEREF _Toc15584 7 HYPERLINK l _Toc30466 2.7.2 Spring框架 PAGEREF _Toc30466 8 HYPERLINK l _Toc25227 2.8 H

10、ibernate技術(shù) PAGEREF _Toc25227 9 HYPERLINK l _Toc13971 2.9 JSP技術(shù) PAGEREF _Toc13971 10 HYPERLINK l _Toc2365 2.9.1 概述 PAGEREF _Toc2365 10 HYPERLINK l _Toc11501 2.9.2 JSP技術(shù)的優(yōu)勢 PAGEREF _Toc11501 11 HYPERLINK l _Toc5897 2.9.3 JSP的生命周期 PAGEREF _Toc5897 11 HYPERLINK l _Toc8355 2.9.4 JSP+JavaBean模型 PAGEREF _T

11、oc8355 12 HYPERLINK l _Toc5559 2.9.5 JSP中的重要標簽 PAGEREF _Toc5559 13 HYPERLINK l _Toc960 3 系統(tǒng)分析與設計 PAGEREF _Toc960 15 HYPERLINK l _Toc2312 3.1 需求分析 PAGEREF _Toc2312 15 HYPERLINK l _Toc9590 3.1.1 功能需求 PAGEREF _Toc9590 15 HYPERLINK l _Toc15375 3.1.2 性能需求 PAGEREF _Toc15375 15 HYPERLINK l _Toc8842 3.2 系統(tǒng)可

12、行性分析 PAGEREF _Toc8842 16 HYPERLINK l _Toc26225 3.2.1 技術(shù)可行性 PAGEREF _Toc26225 16 HYPERLINK l _Toc4644 3.2.2 經(jīng)濟可行性 PAGEREF _Toc4644 16 HYPERLINK l _Toc20617 3.2.3 操作可行性 PAGEREF _Toc20617 16 HYPERLINK l _Toc6610 3.3 系統(tǒng)流程圖設計 PAGEREF _Toc6610 17 HYPERLINK l _Toc5567 3.4 系統(tǒng)模塊設計 PAGEREF _Toc5567 17 HYPERLI

13、NK l _Toc11019 3.4 系統(tǒng)數(shù)據(jù)庫設計 PAGEREF _Toc11019 18 HYPERLINK l _Toc24221 3.4.1 數(shù)據(jù)庫表設計 PAGEREF _Toc24221 18 HYPERLINK l _Toc32122 3.4.2 Hibernate的封裝與配置 PAGEREF _Toc32122 19 HYPERLINK l _Toc30807 3.4.3 連接數(shù)據(jù)庫 PAGEREF _Toc30807 21 HYPERLINK l _Toc13519 4 詳細設計 PAGEREF _Toc13519 23 HYPERLINK l _Toc7663 4.1 S

14、SH的部分實現(xiàn) PAGEREF _Toc7663 23 HYPERLINK l _Toc21994 4.1.1 Service層的實現(xiàn) PAGEREF _Toc21994 23 HYPERLINK l _Toc10008 4.1.2 DAO層的實現(xiàn) PAGEREF _Toc10008 24 HYPERLINK l _Toc3743 4.2 頁面跳轉(zhuǎn) PAGEREF _Toc3743 24 HYPERLINK l _Toc13185 4.3 驗證碼的實現(xiàn) PAGEREF _Toc13185 25 HYPERLINK l _Toc11370 4.4 JSP指令元素的配置 PAGEREF _Toc1

15、1370 26 HYPERLINK l _Toc23860 4.5 翻頁及首尾頁的實現(xiàn) PAGEREF _Toc23860 27 HYPERLINK l _Toc16826 4.6 日歷控件的實現(xiàn) PAGEREF _Toc16826 28 HYPERLINK l _Toc4903 5本系統(tǒng)實現(xiàn)的功能 PAGEREF _Toc4903 32 HYPERLINK l _Toc14030 5.1 管理員登陸 PAGEREF _Toc14030 32 HYPERLINK l _Toc1342 5.2 添加寬帶業(yè)務 PAGEREF _Toc1342 33 HYPERLINK l _Toc10802 5.

16、3 查看寬帶業(yè)務 PAGEREF _Toc10802 34 HYPERLINK l _Toc5436 5.4 添加寬帶會員 PAGEREF _Toc5436 34 HYPERLINK l _Toc26201 5.5 查看寬帶會員 PAGEREF _Toc26201 35 HYPERLINK l _Toc7300 5.6 修改會員信息 PAGEREF _Toc7300 36 HYPERLINK l _Toc7408 5.7 寬帶會員查詢 PAGEREF _Toc7408 36 HYPERLINK l _Toc5268 結(jié) 論 PAGEREF _Toc5268 38 HYPERLINK l _To

17、c24028 參考文獻 PAGEREF _Toc24028 39 HYPERLINK l _Toc24734 致謝 PAGEREF _Toc24734 40 HYPERLINK l _Toc12025 外文原文 PAGEREF _Toc12025 41 HYPERLINK l _Toc10417 中文翻譯 PAGEREF _Toc10417 521 緒論1.1 課題背景隨著企業(yè)管理信息化的發(fā)展以及互聯(lián)網(wǎng)技術(shù)的日益進步,網(wǎng)絡及計算機的引入使管理躍上了一個新的發(fā)展平臺。企業(yè)的管理也從傳統(tǒng)的人工模式變得高效化、自動化、智能化。因而中國企業(yè)面對的競爭壓力也越來越大。企業(yè)要想更好發(fā)展,就必須充分利用信息

18、化手段來提高管理效率及市場響應速度。花費適當?shù)臅r間和資金建立企業(yè)信息門戶網(wǎng)站并開設互聯(lián)網(wǎng)業(yè)務的辦理,并以此來制定長遠發(fā)展戰(zhàn)略。這樣可使企業(yè)與顧客間的經(jīng)濟活動變得更靈活、更主動。我國寬帶產(chǎn)業(yè)進入快速成長期,用戶數(shù)也迅速增長。面對日益激烈的全方位市場競爭,如何提高競爭力、增加客戶滿意度、減少客戶流失、提高效益成為各個從事寬帶業(yè)務企業(yè)首要考慮的問題。1.2 選題意義每一家公司都離不開信息化管理,而業(yè)務和用戶又是公司的生存之本。所以做好這些信息的管理和維護對企業(yè)來說至關(guān)重要。維護業(yè)務信息的工作就是保存企業(yè)產(chǎn)品的基本信息,如業(yè)務名稱、月租費、小時費率、日限時、月限時。同時,要確保信息的準確性。維護用戶的

19、工作則要更復雜一些,因為用戶的信息會不斷發(fā)生變化,所以需要保存的是一個動態(tài)的信息,可隨時進行修改,以確保信息的一致性。同時,為了方便業(yè)務的拓展還必須要快速地查詢到用戶的相關(guān)信息。如果這些復雜的工作只靠人工來完成,勢必浪費很多的時間,而且又很容易出差錯。因為時間一長,會產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護這些信息都帶來了不少的困難。為了適應現(xiàn)代信息管理,本次設計選取了基于SSH(SSH:Struts,Spring,Hibernate 。以下簡稱SSH。其中,Struts進行HYPERLINK /view/2846066.htm t _blank 流程控制,Spring進行業(yè)務邏輯處理,H

20、ibernate進行數(shù)據(jù)庫操作的封裝)的寬帶業(yè)務管理系統(tǒng)這一課題。旨在通過SSH架構(gòu)搭建一個寬帶業(yè)務管理系統(tǒng),從而使管理人員對寬帶業(yè)務及用戶的相關(guān)信息進行規(guī)范的管理和快速的查找,提高其工作效率以及準確度。同時也為企業(yè)管理找到一種更為便捷、有效、實用的方法和途徑。2 編程環(huán)境及相關(guān)技術(shù)2.1 概述系統(tǒng)采用B/S開發(fā)模式,使用MyEclipse8.5運行環(huán)境數(shù)據(jù)庫服務器:Oracle 10gWeb服務器:Tomcat 6.0.26采用的技術(shù):Struts,Spring,Hibernate,JSP,JS 下面,將對用到的編程環(huán)境及相關(guān)技術(shù)進行詳細的概述。2.2 B/S模式B/S模式(Browser/

21、Server,瀏覽器/服務器模式,簡稱B/S模式),是Web興起后的一種網(wǎng)絡結(jié)構(gòu)模式。Web瀏覽器是客戶端最主要的應用軟件,這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用。客戶的電腦上只要安裝一個瀏覽器(Browser),如Internet Explorer等,服務器安裝Oracle或 SQL Server等數(shù)據(jù)庫。就可使瀏覽器通過Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。這樣一來大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本。B/S模式最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)

22、的電腦就能使用,實現(xiàn)了客戶端的零維護。從而使系統(tǒng)的擴展變得非常容易。只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認證(如CA證書)后,系統(tǒng)就可以自動分配給用戶一個賬號進入系統(tǒng)。B/S模式是對C/S模式的一種改進。在這種模式下,軟件應用的業(yè)務邏輯完全在應用服務器端實現(xiàn),用戶表現(xiàn)完全在Web服務器實現(xiàn),客戶端只需要瀏覽器即可進行業(yè)務處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。從另一方面來說,B/S模式是基于網(wǎng)頁語言的,與操作系統(tǒng)無關(guān),所以跨平臺也是它的優(yōu)勢。隨著網(wǎng)頁語言以及瀏覽器的進步,B/S在表現(xiàn)能力上的處理以及運行的速度上越來越快。這種結(jié)構(gòu)更成為當

23、今應用軟件的首選體系結(jié)構(gòu)。因而,本寬帶業(yè)務管理系統(tǒng)選用了B/S開發(fā)模式。2.3 MyEclipse開發(fā)工具2.3.1 概述MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench,簡稱MyEclipse),是一個十分優(yōu)秀的用于開發(fā)Java、J2EE的Eclipse插件集,是對EclipseIDE的擴展,是功能豐富的JavaEE集成開發(fā)環(huán)境。它包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML、Struts、JSP、CSS、JavaScript、Spring、SQL、Hibernate。利用MyEclipse,我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布

24、,以及應用程序服務器的整合方面極大地提高工作效率。MyEclipse支持各種開源產(chǎn)品,極大地簡化了軟件的開發(fā)過程,深受開發(fā)者喜愛。因此,本寬帶業(yè)務管理系統(tǒng)選用了MyEclipse開發(fā)工具。2.3.2 MyEclipse 8.5 版本特性Java事件探查器:支持探查Eclipse插件;支持探查精簡接口;支持獨立啟動探查器。對Struts 2的支持:可以在任何類型的項目中新增對Struts2的支持;新增了對Struts2代碼的自動完成提示信息。加載模塊的自定義功能:可以自定義插件加載;可以管理MyEclipse模塊。對WTP項目的支持:增強了對報表的支持,升級了BIRT2.5,并且新增了格式化信息

25、。App server:支持jetty7;新增Sun App Server 9.1;對JBoss 4,5,WebLogic 9,10,Tomcat,Glassfish,Sun App Server重載的改進。2.4 Oracle 10g數(shù)據(jù)庫2.4.1 概述Oracle 10g (Oracle Database 10g Express Edition,簡稱Oracle 10g)數(shù)據(jù)庫是第一套具有無限可伸縮性與高可用性,并可在集群環(huán)境中運行商業(yè)軟件的互聯(lián)網(wǎng)數(shù)據(jù)庫。具有400多個領(lǐng)先的數(shù)據(jù)庫功能,在集群技術(shù)、高可用性、商業(yè)智能、安全性、系統(tǒng)管理等方面都實現(xiàn)了新的突破。它是以高級結(jié)構(gòu)化查詢語言(SQ

26、L)為基礎的大型關(guān)系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的瀏覽器/服務器模式(Browser/Server)中使用的數(shù)據(jù)庫之一。Oracle 在其技術(shù)白皮書上闡明,Oracle 10g數(shù)據(jù)庫關(guān)鍵目標有二:降低管理開銷提高性能 Oracle 10g的增強有對高可用性的增強、新的 Flashback 能力的增強、支持回滾更新操作方面的增強以及對安全性的增強。這便于管理大量的用戶。同時,它還增進了 SQL 語句、分析功能、 OLAP 、數(shù)據(jù)挖掘等方面的能力。對非關(guān)系型數(shù)據(jù)存儲的能力也得到了改進。不僅如此,Oracle 10g還加強了對開發(fā)能力的支持以及對生物

27、信息學( Bioinformatics )的支持。2.4.2 Oracle 10g數(shù)據(jù)庫特點Oracle 10g數(shù)據(jù)庫的突出特點如下:無范式要求,可根據(jù)實際系統(tǒng)需求構(gòu)造數(shù)據(jù)庫。 采用標準的SQL結(jié)構(gòu)化查詢語言。具有豐富的開發(fā)工具,覆蓋開發(fā)周期的各階段。具有字符界面和圖形界面,易于開發(fā)。數(shù)據(jù)庫內(nèi)模支持多字節(jié)碼制,支持多種語言文字編碼。支持大型數(shù)據(jù)庫,數(shù)據(jù)類型支持數(shù)字、字符、大至4GB的二進制數(shù)據(jù),為數(shù)據(jù)庫的面向存儲提供數(shù)據(jù)支持。數(shù)據(jù)安全級別為C2級(最高級)。具有面向制造系統(tǒng)的管理信息系統(tǒng)和財務系統(tǒng)應用系統(tǒng)。因此,本寬帶業(yè)務管理系統(tǒng)選用了Oracle10g數(shù)據(jù)庫。2.5 Tomcat服務器2.5

28、.1 概述Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務器,可利用它響應對HTML(標準通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,所以當你運行Tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。當配置正確時,Apache 為HTML頁面服務時,Tomcat 實際上運行JSP 頁面和Servlet。另外,Tom

29、cat和IIS等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小、擴展性好、支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能。而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。因此,本寬帶業(yè)務管理系統(tǒng)選用了Tomcat 6.0.26。它在汲取 Tomcat 5.5.x優(yōu)點的基礎上,實現(xiàn)了對Servlet 2.5和JSP 2.1特性的支持。除此以外做的改進還有:內(nèi)存的優(yōu)化使用、有更大的I/O容量。2.5.2 T

30、omcat的配置首先需要下載SDK和Tomcat,之后執(zhí)行SDK和Tomcat的安裝程序,然后按默認設置進行安裝即可。安裝SDK以后,需要配置一下環(huán)境變量,在我的電腦-屬性-高級-環(huán)境變量-系統(tǒng)變量中添加以下環(huán)境變量(我的SDK安裝在c:SDK1.5.0):JAVA_HOME=c:SDK1.5.0classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;(.;一定不能少,因為它代表當前路徑)path=%JAVA_HOME%bin接著可以找一個簡單的Java程序(如:Test.java)來測試SDK是否已安裝成功。打開命令提示符窗口,cd到

31、你的Test.java所在目錄,然后鍵入下面的命令javac Test.javajava Test此時如果看到打印出來This is a test program.的話說明安裝成功了,如果沒有打印出這句話,你需要仔細檢查一下你的配置情況。安裝Tomcat后,在我的電腦-屬性-高級-環(huán)境變量-系統(tǒng)變量中添加以下環(huán)境變量:(我的Tomcat安裝在c:Tomcat) CATALINA_HOME=c:Tomcat CATALINA_BASE=c:Tomcat然后修改環(huán)境變量中的classpath,把Tomcat安裝目錄下的commonlib下的(可以根據(jù)實際追加)servlet.jar追加到class

32、path中去,修改后的classpath如下: classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;%CATALINA_HOME%commonlibservlet.jar;接著可以啟動Tomcat,在IE中訪問http:/localhost:8888,如果看到Tomcat的歡迎頁面的話說明安裝成功了。建立自己的jsp app目錄:1. 到Tomcat的安裝目錄的webapps目錄,可以看到ROOT,examples, tomcat-docs之類Tomcat自帶的目錄;2. 在webapps目錄下新建一個目錄,起名叫kuandai;3

33、. 在kuandai下新建一個目錄WEB-INF,注意,目錄名稱是區(qū)分大小寫的;4. WEB-INF下新建一個文件web.xml,內(nèi)容如下:My Web ApplicationA application for test.5. 在kuandai下新建一個測試的JSP頁面,文件名為index.jsp,文件內(nèi)容如下:Now time is: 6. 重新啟動Tomcat。7. 打開瀏覽器,輸入http:/localhost:8888/kuandai看到登錄頁面的話說明就成功了。 Struts技術(shù)2.6.1 概述:軟件開發(fā)者開始一個軟件項目時,首先也應該構(gòu)思該軟件應用的框架,規(guī)劃軟件模塊,并定義這些模

34、塊之間的接口和關(guān)系。框架可以提高軟件開發(fā)的速度和效率,并且使軟件更便于維護。 對于開發(fā)Web應用,要從頭設計并開發(fā)出一個可靠、穩(wěn)定的框架并不是一件容易的事。然而,隨著Web開發(fā)技術(shù)的日趨成熟,在Web開發(fā)領(lǐng)域出現(xiàn)了一些現(xiàn)成的優(yōu)秀的框架,開發(fā)者可以直接使用它們,Struts就是一種不錯的選擇,它是基于MVC的Web應用框架。 Struts是Apache軟件組織提供的一項開放源代碼項目,它為Java Web應用提供了一個通用的框架,尤其適用于開發(fā)大型可擴展的Web應用。從而使得開發(fā)人員可以把精力集中在如何解決實際業(yè)務的問題上。此外,Struts框架提供了許多可供擴展和定制的地方,使得應用程序可以方

35、便地擴展其框架,來更好的適應用戶的實際需求。Struts本身是一群經(jīng)驗豐富的Web開發(fā)專家的集體智慧結(jié)晶,在全世界范圍內(nèi)得到廣泛運用并得到一致認可。因此對于開發(fā)大型復雜的Web應用,Struts是不錯的框架選擇。 因此,本寬帶業(yè)務管理系統(tǒng)選用了Struts對程序進行整體的流程控制。2.6.2 Struts優(yōu)勢連接了過濾器 Interceptor :可以通過過濾器實現(xiàn)頁面跳轉(zhuǎn)(Chain過濾器)、重命名、文件上傳下載(fileUpload過濾器)、數(shù)據(jù)驗證(Validation過濾器)等功能。含有Type Converter 類型轉(zhuǎn)化器,可以進行日期、字體樣式的轉(zhuǎn)換。基于多個表單驗證。通過該功能

36、還可以通過I/O流的操作實現(xiàn)文件上傳功能。2.6.3 MVC模式MVC模式(Model-View-Controller,簡稱MVC模式),即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成三個層模型層、視圖層、控制層 。之前的網(wǎng)站搭建都屬于無 MVC模式。該模式用JSP(HTML+Java)搭建一個基本的網(wǎng)站,只可以實現(xiàn)簡單的頁面跳轉(zhuǎn)并通過建立表單返回用戶信息(即href鏈接以及form表單提交)。再通過Servlet進行交互,接收JSP發(fā)送來的內(nèi)容,以此實現(xiàn)簡單的網(wǎng)站。而在MVC中通過JavaBean 、Servlet、JSP實

37、現(xiàn)控制功能。通過JSP+JavaBean 模式實現(xiàn)了 View+Controller模式。這樣一來大大簡化了開發(fā)流程。視圖(View)代表用戶交互界面,對于Web應用來說,可以概括為HTML界面。MVC設計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理以及用戶的請求,而不包括在視圖上的業(yè)務流程的處理。業(yè)務流程的處理交予模型(Model)處理。Struts中最重要的便為MVC模式,其實質(zhì)上就是在JSP Model的基礎上實現(xiàn)的一個MVC框架。MVC框架模型如圖2-1所示:圖2-1 MVC框架模型MModel 模型層:作用是:操作數(shù)據(jù)庫(DB);遍歷業(yè)務邏輯(如:看用戶是否存在);執(zhí)行命令;對控制

38、層之后的數(shù)據(jù)和行為進行操作。使用JavaBean處理(Servlet通過JavaBean調(diào)用保存的用戶信息判斷是否符合)。VView 顯示層:該層通過客戶端(瀏覽器)演示信息。即演示Model層處理好的結(jié)果(如:注冊成功登錄界面返到View層)。作用在于:可以直接把信息發(fā)送給Model層;請求、更新Model層;發(fā)送用戶知道已經(jīng)給控制層;允許控制層返回跳轉(zhuǎn)不同頁面。 使用JSP處理。CController 控制器層:用于對連接用戶的各界面進行交互(即執(zhí)行完哪個操作調(diào)到哪個JSP頁面)和業(yè)務邏輯層的加密。使用Servlet 處理。現(xiàn)在人們普遍使用的是Struts2。由于Struts1只是對Ser

39、vlet進行了簡單封裝,用戶仍需動用session、cookie等對象,為了與Java Server Face(JSF框架 優(yōu)于Struts)競爭,Struts2引入了OpenSympony公司早期的致力于前臺頁面控制的一個成熟的MVC框架Webwork。故而Struts2的實質(zhì)是為Struts + Webwork。正是由于引入了Webwork,所以說Struts實現(xiàn)了MVC模式。2.6.4 Struts啟動步驟找到web.xml。由Filter攔截所有有關(guān)Struts的請求(以.action結(jié)尾)并將請求傳給Struts框架。再由Struts框架轉(zhuǎn)發(fā)給配置文件(struts.xml)進行處理

40、。通過使用自帶的過濾器將請求內(nèi)容傳遞給與之相對應的action進行處理。處理結(jié)果返回一個String字符串,再通過String字符串找到與之相對應的result,返回到.jsp頁面。 Spring技術(shù)Spring是一個開源框架,由Rod Johnson創(chuàng)建,是為了解決企業(yè)應用程序的復雜開發(fā)。框架的主要優(yōu)勢就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為 J2EE 應用程序開發(fā)提供集成的框架。通過使用Spring技術(shù)管理JavaBean組件間關(guān)系更好地實現(xiàn)其封裝業(yè)務邏輯處理、數(shù)據(jù)訪問、事務控制的功能。Spring完成以前這些只可以由EJB完成。然而,Spring的用途不僅限于服務器端

41、的開發(fā)。從簡單性、可測試性和低耦合的角度而言,任何Java應用都可以從Spring中受益。2.7.1 Spring特性Spring是獨特的,因為若干個原因:它定位的領(lǐng)域是許多其他流行的framework沒有的。Spring致力于提供一種方法管理業(yè)務對象。它的設計從底部幫助開發(fā)人員編寫易于測試的代碼。Spring是用于測試驅(qū)動工程的理想framework。不需要一個以上的framework。它是潛在地一站式解決方案,定位于與典型應用相關(guān)的大部分基礎結(jié)構(gòu)。它也涉及到其他framework沒有考慮到的內(nèi)容。 Spring是全面的和模塊化的。Spring有分層的體系結(jié)構(gòu),這意味著可以選擇使用它孤立的任

42、何部分,因為它的架構(gòu)是很穩(wěn)定的。我們可以選擇僅僅使用Spring來簡單化JDBC的使用,或用來管理所有的業(yè)務對象。采用強大的基于 JavaBeans的控制反轉(zhuǎn)(Inversion of Control)原則的配置管理,使得應用程序的組件更加快捷簡易。Spring方便集成各種優(yōu)秀框架。它不排斥各種優(yōu)秀的開源框架,反而可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts、Hibernate、Hessian、Quartz等)的直接支持。 Spring能消除使用各種各樣格式的屬性定制文件的需要,在整個應用和工程中,可通過一種一致的方法來進行配置。例如:通過Spring,一個特定

43、類不再需要查找屬性關(guān)鍵字或系統(tǒng)屬性,你可很簡單地看到類的JavaBean屬性。倒置控制的使用幫助完成這種簡化。因此,本寬帶業(yè)務管理系統(tǒng)選用了Spring對業(yè)務邏輯層進行管理。2.7.2 Spring框架Spring 框架是一個分層架構(gòu),由7個定義良好的模塊組成。組成Spring框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)。每個模塊的功能如下:1、核心容器:核心容器提供 Spring 框架的基本功能(Spring Core)。核心容器的主要組件是 BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory 使用控制反轉(zhuǎn)(IOC) 模式將應用程序的配置和依賴性規(guī)

44、范與實際的應用程序代碼分開。2、Spring 上下文:Spring 上下文是一個配置文件,向 Spring框架提供上下文信息。Spring 上下文包括企業(yè)服務,例如JNDI、EJB、電子郵件、國際化、校驗和調(diào)度功能。3、Spring AOP:通過配置管理特性,Spring AOP 模塊直接將面向切面的編程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持AOP。Spring AOP 模塊為基于 Spring 的應用程序中的對象提供了事務管理服務。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務管理集成到應用程序中。4、Spr

45、ing DAO:JDBCDAO抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應商拋出的錯誤消息。異常層次結(jié)構(gòu)簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關(guān)閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結(jié)構(gòu)。5、Spring ORM:Spring 框架插入了若干個ORM框架,從而提供了 ORM 的對象關(guān)系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有這些都遵從 Spring 的通用事務和 DAO 異常層次結(jié)構(gòu)。6、Spring Web 模塊:Web 上下文模塊建立在應用程序上下文模塊

46、之上,為基于 Web 的應用程序提供了上下文。所以,Spring框架支持與 Jakarta Struts 的集成。Web 模塊還簡化了處理多部分請求以及將請求參數(shù)綁定到對象的工作。7、Spring MVC 框架:MVC框架是一個全功能的構(gòu)建 Web應用程序的 MVC 實現(xiàn)。通過策略接口,MVC框架變成為高度可配置的,MVC 容納了大量視圖技術(shù),其中包括 JSP、Velocity、Tiles、iText 和 POI。模型由JavaBean構(gòu)成,存放于Map;視圖是一個接口,負責顯示模型;控制器表示邏輯代碼,是Controller的實現(xiàn)。Spring框架的功能可以用在任何J2EE服務器中,大多數(shù)功

47、能也適用于不受管理的環(huán)境。Spring 的核心要點是:支持不綁定到特定 J2EE服務的可重用業(yè)務和數(shù)據(jù)訪問對象。毫無疑問,這樣的對象可以在不同J2EE 環(huán)境(Web 或EJB)、獨立應用程序、測試環(huán)境之間重用。Spring框架結(jié)構(gòu)如圖2-2所示:圖2-2 Spring框架2.8 Hibernate技術(shù)Hibernate是中間件(軟件),位于應用程序和數(shù)據(jù)庫之間,用于解決面向?qū)ο蟮腏ava應用程序和面向關(guān)系的數(shù)據(jù)庫之間的交互問題。它的優(yōu)勢在于擯棄了JDBC中用戶只能自己封裝對象、用標準SQL語句去操作數(shù)據(jù)庫中的表。而是通過ORM對象關(guān)系映射,方便地在面向?qū)ο蟮腏ava領(lǐng)域和面向關(guān)系的數(shù)據(jù)庫領(lǐng)域建

48、立起聯(lián)系。并自動將需持久化的對象進行持久化(即Java應用程序給出的對象)。ORM 就是映射是面向?qū)ο缶幊讨械膶ο?Object)和關(guān)系數(shù)據(jù)庫的關(guān)系(Relation)的一個映射(Mapping)。使用戶可以以對象的方式做增、刪、改、查的操作。優(yōu)勢在于:現(xiàn)在的軟件開發(fā)已經(jīng)是面向?qū)ο蟮牧恕K械闹怠⒉僮鞫际腔趯ο蟮母拍睢6鴶?shù)據(jù)庫還是關(guān)系數(shù)據(jù)庫,記錄的存儲還是一條一條的。沒有ORM之前,都是直接用SQL操作數(shù)據(jù)庫,或者使用DAO之類的機制進行對象概念到關(guān)系數(shù)據(jù)庫概念的轉(zhuǎn)換。而現(xiàn)在有了Hibernate中的ORM映射開發(fā)人員不必管數(shù)據(jù)庫怎么存儲,他只要知道要保存的也是一個對象(和他開發(fā)的概念一致)

49、就可以了。該框架同時兼?zhèn)淞诵矢摺⑿阅芎谩⒖删S護性高。因此,本寬帶業(yè)務管理系統(tǒng)選用了Hibernate對數(shù)據(jù)層進行處理。Hibernate的框架結(jié)構(gòu)如圖2-3所示:圖2-3 Hibernate框架結(jié)構(gòu)Hibernate體系結(jié)構(gòu)要素:POJO實體類(JavaBean):一定要有無參構(gòu)造函數(shù),讓Hibernate自動為用戶創(chuàng)建持久化對象(POJO類中對象一般都為持久化對象);和數(shù)據(jù)庫表進行對應;需實現(xiàn)序列化接口perties(即hibernate.cfg.xml):Hibernate的核心配置文件,配置數(shù)據(jù)庫連接信息(用戶提供需要連接哪個數(shù)據(jù)庫、驅(qū)動、用戶名、密碼)XML Mapping:(即.h

50、bm.xml):提供需要持久化的對象,并將數(shù)據(jù)庫表和POJO類進行一一對應的配置文件補充說明的一點是:對象持久化就是把內(nèi)存中的對象永久的保存起來(將對象存儲到數(shù)據(jù)庫中),保護對象的狀態(tài),方便使用。好處在于:可以解決掉電的問題;共享方便;保證對象安全檢索方便。體系中的持久化層,封裝了數(shù)據(jù)訪問細節(jié),讓業(yè)務邏輯層專注于業(yè)務邏輯(自動實現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)和內(nèi)存中數(shù)據(jù)的雙向同步更新)。2.9 JSP技術(shù)2.9.1 概述JSP (Java ServerPage,簡稱JSP)技術(shù)提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面。由業(yè)界處于領(lǐng)先地位的Sun公司制定了相關(guān)的JSP技術(shù)規(guī)范,該規(guī)范定義了如

51、何在服務器和JSP頁面間進行交互,還描述了頁面的格式和語法。JSP頁面使用XML標簽和Scriptlets(一種使用Java語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標簽(HTML或者XML)直接傳遞回響應頁面。通過這種方式,JSP頁面實現(xiàn)了頁面邏輯與其設計和顯示的分離。JSP 技術(shù)是Java系列技術(shù)的一部分。JSP頁面被編譯成Servlet,并可能調(diào)用JavaBeans組件(beans)或 EnterpriseJavaBeans組件(企業(yè)Beans),以便在服務器端處理。因此,JSP技術(shù)在構(gòu)建可升級的基于Web的應用程序時扮演了重要角色。 JSP頁面并不局限于任何特定的平

52、臺或Web服務器上。JSP規(guī)范在業(yè)界也有著廣泛的適應性。JSP技術(shù)是行業(yè)協(xié)作的結(jié)果,它的設計是開放的,符合行業(yè)標準的,并支持絕大多數(shù)的服務器、瀏覽器和相關(guān)工具。由于使用可重用的組件和標簽取代了對頁面本身腳本語言的嚴重依賴,JSP技術(shù)大大加快了開發(fā)的速度。所有JSP的實現(xiàn)均支持以Java編程語言為基礎的腳本語言,它有與生俱來的可適應性,支持復雜的操作。2.9.2 JSP技術(shù)的優(yōu)勢JSP是動態(tài)網(wǎng)頁技術(shù),是運行在服務器端的應用程序,所以可以接受客戶請求、處理客戶請求并以HTML格式顯示返回給瀏覽器(客戶端)。它相比之前的Servlet技術(shù)和HTML技術(shù)的優(yōu)勢在于:HTML: 之前的靜態(tài)網(wǎng)頁技術(shù)以ww

53、w傳輸,由瀏覽器識別并顯示文件。所以用戶只能被動地瀏覽網(wǎng)站設計者提供的內(nèi)容。因為服務器和用戶不能進行交互,所以網(wǎng)頁內(nèi)容不會發(fā)生變化,只能由設計者進行更新。JSP:動態(tài)網(wǎng)頁技術(shù)是建立在B/S架構(gòu)上的服務器端腳本程序。JSP在首次載入時被翻譯成Servlet文件(*.java),JSP引擎(調(diào)用JSP的Web容器)調(diào)用Java編譯器將*.java文件編譯成*.class文件,然后JSP引擎調(diào)用JVM執(zhí)行*.class文件,將運行結(jié)果返回給服務器,服務器按HTTP協(xié)議封裝響應后返回給客戶端。Servlet :由于是將請求放入輸出流中返還給客戶端,所以只能一句句輸出直到生成一個HTML頁面,生成網(wǎng)頁十

54、分復雜,用戶體驗較差。Servlet是在Java代碼中嵌套HTML代碼,擅長做業(yè)務邏輯處理。JSP:它是在HTML中嵌入Java代碼 ,所以可以直接將一個網(wǎng)頁文件返還給用戶,對整個網(wǎng)頁的修改十分方便。我們一般采用JSP+JavaBean模型,由JavaBean做業(yè)務邏輯處理。2.9.3 JSP的生命周期JSP的生命周期(運行原理)分為以下階段:翻譯階段:當容器接受到客戶端第一次對JSP的請求后,先判斷請求的JSP源文件是否存在。若不存在返回404錯誤,若存在,將該JSP頁面先翻譯成一個Servlet文件。編譯階段:將Servlet源文件編譯成一個字節(jié)碼文件,然后由容器將其裝載進虛擬機并實例化。

55、執(zhí)行階段:調(diào)用Servlet中的init()方法、service方法、destory()方法。其中init()方法用于初始化,destroy()方法用于在服務器關(guān)閉時銷毀。JSP的調(diào)用如圖2-4所示:圖2-4 JSP的調(diào)用示意圖在JSP的調(diào)用過程中需特別說明的是:如果被請求的JSP源文件內(nèi)容發(fā)生變化,那么要重新將JSP文件翻譯成Servlet文件,再編譯、裝載和實例化,最后運行Servlet文件。做了修改后無需再重新啟動服務器,只需刷新頁面即可。如果第二次請求JSP時,此時若被請求的JSP文件已經(jīng)有對應的Servlet實例,那么就直接運行該Servlet。第二次請求時,前兩步不再執(zhí)行,所以速度

56、會大大提升。2.9.4 JSP+JavaBean模型JSP+JavaBean模型在運用JSP技術(shù)實現(xiàn)Web動態(tài)交互中主要使用到的是JSP+JavaBean模型。本系統(tǒng)中也采用了該模型。其工作原理是:當瀏覽器發(fā)出請求時,JSP接收請求訪問JavaBean。若需要訪問數(shù)據(jù)庫后端服務器時,則通過JavaBean連接數(shù)據(jù)庫或后臺服務器,進行相應的處理。JavaBean將處理的結(jié)果數(shù)據(jù)提交給JSP。JSP提取結(jié)果并重新組織后,動態(tài)產(chǎn)生HTML頁面返回給瀏覽器。用戶從顯示的頁面中得到交互的結(jié)果。JSP+JavaBean模型如圖2-5所示:圖2-5 JSP+JavaBean模型該模型充分利用了JSP技術(shù)易于

57、開發(fā)動態(tài)網(wǎng)頁的特點,頁面顯示層的任務由JSP承擔(但它也含有事務邏輯層的內(nèi)容),JavaBean主要負責事務邏輯層和數(shù)據(jù)層的工作。JSP+JavaBean模型僅依靠一個或幾個JavaBean組件實現(xiàn)具體的應用功能,生成動態(tài)內(nèi)容,其最大的特點是簡單易操作。JavaBean組件JavaBean組件本質(zhì)上就是一個普通Java類,只不過這個類需要遵循一些編碼的約定。它可以用來封裝業(yè)務邏輯處理、數(shù)據(jù)訪問、事務控制。同時它是Java中的可重用組件。可重用即不用進行反復創(chuàng)建,只需直接在各JSP頁面中調(diào)用即可。JSP頁面的實現(xiàn)要特別注重對JavaBean的使用。在JSP頁面中,既可以像使用普通類一樣實例化Ja

58、vaBean類的對象,調(diào)用它的方法;也可以利用JSP技術(shù)中提供的動作元素來訪問JavaBean。一個標準的JavaBean組件具有以下幾個特性:需實現(xiàn)serializable接口在實例化JavaBean對象時,需要提供無參構(gòu)造器用來調(diào)用無參構(gòu)造方法它是一個公開的(public)類,并提供set ()方法和get ()方法來讓外部程序設置和獲取JavaBean的屬性。2.9.5 JSP中的重要標簽由于JSP中用到的標簽有很多,下面僅列舉其中較重要的標簽,來說明JSP標簽的應用。JSP + JavaBean模型下用到的標簽:jsp:useBean語法:作用:用于在JSP頁面中初始化一個Java實例

59、jsp:setProperty語法:作用:為JavaBean實例的屬性賦值:當表中名稱和對象名稱同名時自動進行賦值;不同時,由param提供表當中提供的字段名稱,并給屬性賦值jsp:getProperty語法:作用:用于輸出JavaBean實例的屬性,拿到屬性值后響應輸出給客戶端。base href=”在JSP中這個標簽十分重要,在頁面跳轉(zhuǎn)時都會用到。在此特別說明其用法:basePath標簽的作用是把當前目錄的所有路徑都定義到WebRoot根目錄下,進行所有跳轉(zhuǎn)時都基于該路徑跳轉(zhuǎn)。圖2-6 頁面間跳轉(zhuǎn)舉例用圖舉例說明:在本系統(tǒng)中若使用base href=”標簽后,從addAdmin.jsp跳轉(zhuǎn)

60、到同目錄下的modifyAdmin.jsp,對應代碼應為:若不使用該標簽,同名目錄下的跳轉(zhuǎn)應為。此時不能再寫前面的路徑,否則跳轉(zhuǎn)目標頁為admin/manager/admin/manager/modifyAdmin.jsp該標簽的使用主要是為了在不同目錄下頁面的跳轉(zhuǎn)不再使用相對路徑,準確度會有所提升。3 系統(tǒng)分析與設計3.1 需求分析需求分析是寬帶業(yè)務管理系統(tǒng)開發(fā)的第一步也是最重要的一步。需求分析就是描述系統(tǒng)的需求,并依此來建立系統(tǒng)模型。分析的根本目的是在開發(fā)者和提出需求的人之間建立一種理解和溝通的機制。因此,系統(tǒng)的需求分析應該是開發(fā)人員和用戶或者客戶一起完成的。需求分析要明確系統(tǒng)要服務于哪些

溫馨提示

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

評論

0/150

提交評論