前言:中文期刊網精心挑選了ssh框架范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
ssh框架范文1
關鍵詞:醫療信息系統;就醫模塊;ssh框架;MiniUl框架;MySQL數據庫
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)08-0101-02
在JavaWeb技術普遍應用于MIS領域后,醫療行業也普及使用了基于JavaWeb技術的HIS(醫療信息系統)。它的改進和完善能更加方便的幫助病人來完成繁瑣的就醫流程和醫院內部各部門之間的協同工作。以前的Web應用是簡單的信息,而隨著社會的發展,在現在的Web應用中,更加強調動態、實時處理交互信息的功能,而醫療管理系統更是需要這種優勢的支持。本項目內容是根據現在的Web優勢,采用MVC開發模式,利用輕小便捷的MySQL數據庫,以及現在比較流行的SSH框架,來研究和組合新的醫療信息管理系統,并引入一些前臺框架來優化系統的界面。本系統的著力點是在病人的模塊建立以及對SSH框架引入新的前端框架MiniUI的整合上。
1研究背景及研究內容
現在的大中型醫院都已經采用了信息管理系統進行基于網絡的運行和管理,但是在這些管理系統之中,多是針對醫務人員進行設計的,只是為了方便醫院內部的使用,而實際情況中病人的需求涉及不多。在病人就醫的時候,一般的流程是病人到醫院門診樓,先到人工掛號窗口掛號,然后根據走廊里面的信息指示牌找到指定的科室樓層,然后再到每一個房間去查看門前的小信息提示欄,最后確定醫生,進行就診。在這其中,病人往往會在排隊掛號,尋找醫生方面浪費很大一部分時間,而且病人就醫時并不了解給自己看病醫生,不知道主治醫生的信息,誰在門診值班就是誰看病。系統還沒有針對病人的這些困惑進行相應的模塊設計。我們的目標就是針對病人開發一個就醫模塊,一方面來解決病人找不到心儀的醫生的這個痛點,另一方面也是解決病人在就醫過程中對醫生所在就診科室及專長不明確的缺點。此外,系統還試圖引入一些前端框架來優化界面,給病人和醫生提供一個相對較好的視圖展示,提高用戶體驗度。
系統依然采用現在比較流行的SSH框架為的主導框架。SSH是Struts2、Spring和Hibernate的組合框架。Stntts2是實現MVC的框架,它在后端控制器的處理上有著不可比擬的優點,能夠很好地使業務邏輯關系得到管理,但是在前臺的顯示還有一點缺憾,不能夠提供美觀的視圖效果。因此系統在展示效果方面引入前端框架MiniUI。MiniUI框架能夠快速的構建出比較好的菜單工具欄、彈出面板、布局導航等一系列前臺系統界面,而Spring對于業務邏輯的把控也是較完美的。Spring是一個輕量級的容器,其兩大優勢控制反轉(IOC)和面向切面(AOP),能夠很輕松的管理系統的業務。Hiberuate對跨數據庫有著很好的支持,而且Hibernate是面向對象的一個持久層的框架,有了Hibernate的支撐,編程就能夠以面向對象的思維來進行編寫。因此,本系統的研究內容就是病人模塊的業務邏輯處理和在整合SSH時對MiniUI引入的支持。
2系統總體要求
2.1系統框架要求
系統在現有的Web技術優勢之上,采用MVC開發模式,利用輕小便捷的MySQL數據庫,以及現在比較流行的SSH框架,來整合、改進新的醫療信息管理系統。所采用框架的具體要求如下:
1)系y采用B/S構架模式(瀏覽器/服務器模式)
2)開發技術為JavaWeb技術
3j開發模式采用MVC開發模式
4)數據庫采用MySQL數據庫
5)要預留出一定的標準接口,方便與其他系統的集成
2.2軟件/硬件環境的要求
軟件的開發及運行環境在現有的計算機系統上都可以正常開展。
1)操作系統:WinXP/WinT/Win8操作系統;
2)編寫工具:Eclipse3.8以上即可;
3)瀏覽器:IE/Firefox瀏覽器;
4)服務器:Tomcat服務器,Win Server服務器;
5)數據庫:MySQL5.1;
6)運行本程序的硬件最低要求:雙核以上的CPU,2GB以上的內存,50GB以上的硬盤。
3系統設計與實現
在系統實現中,系統除了利用SSH框架和MiniUI之外,還涉及JavaScript,Ajax,Json數據等技術,這些技術都是現在比較成熟且流行的技術,可以保證系統開發的可行性。另外因為此系統為研究性系統,規模也是適中,也能很好的保證其實現性。
以我們研究的病人就醫模塊,與具有代表性的醫生管理模塊來進行融合,在保證系統的完備下,通過具有代表性的功能來展現病人在就醫方面的功能,醫生對病人信息的瀏覽掌握功能,以及所涉及的增刪改查功能,系統功能模塊簡圖如圖1所示。
3.1病人就醫模塊
在病人就醫管理模塊中,一方面,系統設計病人可以通過瀏覽器來進行自己病情的描述,通過搜索確定出符合匹配條件的醫生,而后病人再通過瀏覽醫生的詳細信息情況來確定選擇匹配結果中的哪位醫生進行就醫。在醫生的信息后面,增加了醫生的辦公地點和預約功能,這樣就可以方便病人快速定位醫生所在的辦公地點,更方便的就醫。而且系統還提供了預約功能,可以方便地使得病人預約到醫生。另一方面,系統還將醫生的專長進行分類,在頁面顯示上,病人可以根據不同的疾病特征來進行對應的醫生選擇、匹配,更精準地找到所需要的醫生。在病人的注冊方面,系統使用了校驗功能,利用MINIUI的校驗功能,使用HTML標簽的vtype,onvalidation,required等屬性能夠方便的對所輸入的數據進行校驗。在對醫生的顯示上,利用了MiniUI提供的數據表格來封裝數據源。
病人就醫預約功能模塊界面如圖2所示:
部分主要代碼如下:
3.2醫生工作模塊
在醫生工作模塊中,因為添加了病人就醫模塊的預約功能,所以,在整合病人與醫生之間的數據關系時,在醫生模塊新添加了查看預約功能,這樣醫生就能夠方便地估算出自己當天的工作量。并且,醫生能夠查看自己已經看過的病人的病歷,方便下次的診療。在醫生工作的模塊上,采用MiniUI提供的樹形結構mini.tree和TreeGrid來進行展示。
3.3其他管理模塊
在醫療信息管理系統中還提供了藥品管理模塊和醫生管理模塊,因為這兩個模塊與引入我們研究的病人就醫模塊沒有太大聯系,所以在處理這方面的模塊時,我們重點是放在了與MiniUI和SSH的融合之上,利用了MiniUI的表格控件,布局控件,TreeGrid控件,導航控件等進行了頁面的優化等等。
ssh框架范文2
關鍵詞:MVC;SSH框架;銷售系統
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2017)01-0190-01
1 系統體系結構
網上服裝銷售系統擬采用基于MVC模式的SSH框架來設計。MVC是一種業務邏輯、數據、界面顯示相分離的代碼組織方法,它將業務邏輯聚集在業務層,這使得修改或個性化定制界面以及用戶交互的同時,無需重新編寫業務邏輯。Spring實現了視圖層、控制層、模型層的控制反轉,它依賴注入以及面向切面的編程降低了系統之間的耦合性,使系統結構更加高效。其中,視圖層由JSP構成,請求業務邏輯,生成Html文件,傳送給客戶端進行解析,并將請求結果展現給用戶;控制層為Struts2框架的Action,它根據用戶請求來處理和控制調用指定的業務Bean;模型層主要為Service和DAO,Service為核心業務Bean,它處理系統的業務邏輯,DAO(Data Access Object)主要處理和持久層之間的關系,它是數據庫對象的操作層,使用了Hibernate框架,實現對象關系映射(Object-Relational Mapping),并對數據庫的每一張表實施CRUD(Create、Read、Update、Delete)操作。
2 系統設計
本系統主要欲實現用戶購物、網店管理、系統管理等功能,因此,可根據用戶角色差異劃分系統功能,首要角色是客戶,需要為其提供網上購物功能;其次是商家角色,需要為其提供網店管理功能;最后是系統管理員角色,需要為其提供系統管理功能。因此,網絡服裝銷售系統的總體功能的模塊結構。
其中,面向網絡客戶的購物平臺主要功能包括客戶注冊、登錄、瀏覽在售服裝、查詢在售服裝等;客戶在登錄系統后,可S護其個人購物車、選擇并購買滿意的服裝、查詢個人的歷史訂單。而面向網絡的管理平臺又可細分為系統管理和網店管理,以分別實現系統管理員管理整個網絡服裝銷售系統、商家管理自己的網店。系統管理員具備審核商家開店申請、管理客戶和商家,還可查詢客戶消費情況、網店銷售情況,并能進行銷售報表統計。當商家申請開設網店時,需要系統管理員審核批準,才能創建新店,商家即可登錄到其個人網店中,對該網店進行服裝管理、庫存管理、銷售記錄管理和報表統計。
在調研、分析了網絡服裝銷售的數據管理實體,及其相互間關系后,建立了系統實體-關系數據模型,涉及的主要實體有商家、網店、客戶、服裝、訂單等。其中,客戶和訂單之間是一對多關系,商家和店鋪是一對一關系,服裝和庫存是一對一關系,店鋪和服裝是一對多的關系。在此基礎上欲應用關系型數據庫Oracle來管理網絡服裝銷售系統中的各種數據,因此借助規范化理論將此系統的實體-關系數據模型轉化成關系數據表結構,并在Oracle11g下加以實施。
3 系統實現
本系統采用基于MVC設計模式的輕量級SSH框架,SSH框架是集成Structs2、Spring、Hibernate框架。在表示層中,首先通過JSP頁面實現交互,負責傳送請求(Request)和接收響應(Response);在控制層中,Struts2根據配置文件(struts-config.xml)將ActionServlet接收到Request委派給相應的Action處理;在業務層中,管理服務組件的Spring IoC容器負責向Action提供業務模型(Model)組件和該組件的協作對象數據處理(DAO)組件完成業務邏輯,并提供事務處理、緩沖池等容器組件以提升系統性能和保證數據的完整性。在業務層的DAO中,應用db.properties文件存放連接數據庫所需的用戶名、密碼、驅動等信息,并且通過使用hibernate框架的hibernate.cfg配置文件讀取db.properties連接數據庫,對數據庫中的記錄和程序中的實體進行對象關系映射(ORM)。簡化了使用JDBC連接數據庫過程中對象關系的映射,提高了系統的可維護性。
SSH框架不僅實現了視圖、控制器與模型的徹底分離,而且還實現了業務邏輯層與持久層的分離。這樣無論視圖層如何變化,模型層只需很少的改動,并且數據庫的變化也不會對視圖層有所影響,大大提高了系統的重用性。而且由于不同層之間耦合度小,有利于團隊并行工作,極大提高了開發效率。
4 結語
針對網絡服裝銷售需求,基于MVC模式、SSH框架設計了網絡服裝銷售管理系統,實現了客戶網上購物、商家網店信息維護、管理和系統管理員平臺管理的功能。系統中MVC模式和SSH框架的應用實現了業務邏輯與用戶界面的分離,使系統的層次結構更加清晰,易于擴展,且開發效率高、執行速度快。對其它電子商務系統的設計具有重要的應用與參考價值。
參考文獻
ssh框架范文3
關鍵詞: B/S Java EE MVC模式 Struts2框架 Spring框架 Hibernate框架 ExtJS框架
Design and Implemention of Web Framwork
Based on the SSH and ExtJS
XU Li-ming, LI Zhi-shu, SONG Fei
(Institute of Computer Science, Sichuan University, Chengdu Sichuan 610065, China)
Abstract: They basic concepts of Java EE architecture and MVC design pattern is introduced in this thesisf. On this basis, the principles of Struts2, Spring, Hibernate and ExtJS framework are introduced, then the specific development process of these technologies are expatiated through designing and implementing a web application framwork system.
Key words: B/S; Java EE; MVC Model; Struts2 Framework; Spring Framework; Hibernate Framework; ExtJS
1 概述
1.1 研究背景
近年來,隨著網絡通訊的普及,B/S(Browser/Server)結構逐漸成了當下最流行的信息系統架構方式。由于基于Java EE架構的B/S應用程序其開發技術比較成熟和完善,運行成本也較其他結構的系統低,同時其性能也不亞于其他結構的系統,而且便于用戶使用,所以成為了企業架構信息系統的首選方式。
1.2 框架介紹
1.2.1 Struts2框架
Struts2是由Struts1和WebWork團隊共同開發出的一個新的,整合了WebWork與Struts的優點,并且更加優雅、擴展性更強的MVC框架。Struts2解決了Struts1的ActionForm問題,可以使用普通的JavaBean對象,甚至Action本身來接受表單數據。另外,由于Struts2中的Action沒有和Servlet API耦合在一起,所以單元測試更加容易[1]。
在經典的MVC設計模式中,一個應用被分成三個部分[2]:即模型(Model)、視圖(View)和控制器(Controller)。這三者之間的關系和各自主要功能如圖1.1所示:
1.2.2 Spring框架
Spring在某種意義上是EJB的替代品,它是一種輕量級的容器。Spring的核心概念有兩個,反向控制(IoC)和面向切面編程(AOP)[3][4][5]
IoC(Inversion of Control),即反向控制或者逆向控制。其基本概念是:不在代碼中直接創建對象,取而代之的是在配置文件中描述創建它們的方法以及描述哪一個組件需要哪一項服務[6]。容器負責將這些聯系在一起。簡單的來講,就是由容器控制程序之間的關系,而非傳統實現中,由程序代碼直接操控。
AOP(Aspect-Oriented Programming),即面向方面的編程或面向切面的編程。它通過提供另外一種思考程序結構的途
徑來彌補了面向對象編程(OOP- Object-Oriented Programing)的不足。在面向對象編程中,模塊化的關鍵單元是類(classes),而AOP中模塊化的單元則是切面。所謂“切面”,指的是那些與業務無關,卻為業務模塊所共同調用的邏輯[7]切面能對關注點進行模塊化,例如橫切多個類型和對象的事務管理[8]。
1.2.3 Hibernate框架
Hibernate 是Java應用和關系數據庫之間的橋梁,負責Java對象和關系數據庫之間的映射的ORM中間件[9]。Hibernate是一個開放源代碼的對象關系映射框架,該框架通過對JDBC API進行了輕量級的對象封裝,使開發人員能夠以面向對象的思維來操縱數據庫[6][10]。它主要封裝了通過JDBC訪問數據庫的操作以及向上層應用提供訪問面向對象數據訪問的API。
1.2.4 ExtJS框架
ExtJS可以用來開發RIA,即富客戶端的Ajax應用,它是一個用JavaScript編寫的,主要用于創建前端用戶界面的UI框架。該框架與系統后臺所使用的開發技術獨立,因此,可以把ExtJS與使用Java、.Net或其它開發語言開發的應用系統很好地集成在一起[11]。用ExtJS可以開發出具有十分絢麗外觀的顯示層頁面。
2 Web應用框架的設計與實現
2.1 Web應用框架的設計
本文設計的應用框架系統采用B/S模式的四層體系結構設計,自頂向下為表示層、業務邏輯層、數據庫持久操作層、數據庫層?;赟truts2,Spring,Hibernate和ExtJs技術開發。
(1) 表示層負責客戶端頁面的顯示工作,該層使用了各種web頁面技術,如 Struts2標簽技術,JavaSript技術以及ExtJs技術等。
(2) 業務邏輯層負責與權限管理相關的邏輯定義與處理,該層是系統業務功能處理的核心。
(3) 持久層負責進行數據庫操作,如查詢,修改,刪除等。該層主要基于Hibernate技術進行設計,減少了編寫和維護SQL語句的工作量。封裝了數據庫訪問,事物管理和緩存等工作。另外,持久層還為其它各層提供了統一的訪問接口。
系統主要由五大功能模塊構成,分別為用戶基本操作功能模塊,系統管理模塊和權限驗證模塊,各模塊再分別由其子功能模塊構成,功能結構關系如圖2.1所示:
圖2.1 系統功能結構圖
根據以上的系統功能劃分,億陽權限管理系統的程序包結構對應如圖2.2所示:
圖2.2系統模塊包結構示意圖
以上5個包分別對應于系統劃分的5個功能模塊。其中每個功能模塊按分層設計,分為Struts Action控制層、業務邏輯服務(Service)層和DAO(Data Access Object)三層。這里,我們用業務字典管理模塊為例,其分層包結構如圖2.3所示:
其余各個功能模塊的包結構與上圖的業務字典管理模塊類似。其中,子模塊下的struts.action包為分層設計中的Struts Action控制層代碼,用于控制應用程序的流程。處理用戶請求并作出相應的響應。 service包內為業務邏輯服務層的代碼,封裝了程序的各種業務邏輯功能。其中Service包內存放的是接口類,負責定義該服務層需要的一些服務方法,而這些方法的具體的實現流到其impl子包內的具體實現類來實現。po包內封裝的是持久化對象(persistence object),即數據庫實體,或者說是物理數據模型的對象的Java對象反映。vo包內封裝的則是業務邏輯或者表現邏輯的對象,又被稱為DTO(data transfer object)[12],它是業務實體的一種抽象反映。
本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文
再次以業務字典管理模塊為例,此模塊的類結構設計如圖2.4所示:
由于層是一種弱耦合結構[13],層與層之間的依賴是向下的,底層對于上層而言是“無知”的,改變上層的設計對于其調用的底層而言沒有任何影響。理想的分層式架構,應該是一個支持可抽取、可替換的“抽屜”式架構。因此,我們在分層設計時,遵循了面向接口設計的思想[12][13]。
2.2 Web應用框架的實現
2.2.1基于Struts2的控制層的實現
首先,要為該項目添加Struts2支持,除了需要添加struts的類庫包外,還需要在工程的web.xml配置文件中加入以下代碼:
struts2
org.apache.struts2.dispatcher.FilterDispatcher
這樣就把客戶端請求提交到Struts框架處理。
之后,需要在Struts.xml文件中配置客戶端請求與Action間的映射關系。如下列代碼所示:
/dictionary/dictionary.jsp
以上映射代碼表示當前臺頁面向服務器提交了listdict請求時,該請求將被交給dictionaryAction實例的listDict方法來處理。
此系統將struts控制層的action類交給Spring框架來管理,以便實現action類的可抽取和可替換。
Spring框架通過applicationContext.xml文件來配置其托管的action類。下面的代碼部分即為Spring托管的系統業務字典管理模塊的struts action類配置:
class="com.boco.dictionary.action.DictionaryAction" scope="prototype">
上面的xml代碼中配置的java bean的id與struts-dictionary.xml文件中action配置的class屬性值一致,這樣便將struts的Action類交給Spring框架代管了。通過修改applicationContext.xml文件中對應bean的class屬性便可實現Action類的抽取和替換。
2.2.2 業務邏輯層(Business Logic Layer)的實現
業務邏輯層無疑是系統架構中體現核心價值的部分。它的關注點主要集中在業務規則的制定、業務流程的實現等與業務需求有關的系統設計,也即是說它是與系統所應對的領域(Domain)邏輯有關,很多時候,我們也將業務邏輯層稱為領域層。業務邏輯層在體系架構中的位置很關鍵,它處于數據訪問層與表示層中間,起到了數據交換中承上啟下的作用。
該系統采用與控制層中相同的方式將業務邏輯實現對象交給Spring框架托管。業務邏輯對象中通過調用持久層層對象來是實現與數據庫間的交互。此系統的持久層對象同樣交給Spring框架托管。業務邏輯對象中取得持久層對象的代碼如下例所示:
dictionaryDao = (HibernateDaoSupport)SpringUtil.getBean(“dictionaryDao”);
2.2.3基于Hibernate和Spring的數據庫持久層的實現
數據庫持久層負責封裝數據操作語句,為業務邏輯服務層提供訪問數據源的途徑。
在Spring容器中以bean的方式定義諸如JDBC DataSource和Hibernate SessionFactory的數據訪問資源,任何需要進行訪問的應用程序對象只需要持有這些事先定義好的實例引用。
之后需要將持久對象與數據庫表在影射文件中進行關
聯,在映射文件中除了將Java持久對象與數據庫表進行關聯外,還需要將對象的字段與數據庫表字段在映射文件中進行關聯。在實現時還可以在Spring框架的配置文件中配置Hibernate的事務管理方式。
2.2.4基于ExtJS的頁面顯示層的實現
ExtJS框架不僅能實現漂亮的外觀界面,還擁有豐富的UI組件。
實現時首先需要在頁面文件中引入ExtJS類庫文件以及實現了自定義ExtJS組件的JavaScript文件,然后定義放置自定義組件的位置。部分代碼實例如下:
……
3 結語
本文的系統基于Java EE架構,采用了較Struts1更為優秀的Strut2作為該web應用程序的MVC框架,利用Spring框架來管理業務對象,用Hibernate來進行數據的持久化。另外,為了滿足當前許多用戶對應用程序界面外觀更高的需求,該系統還使用了ExtJS這一基于富客戶端理念的UI框架來幫助實現顯示層。
以系統中業務字典管理模塊為例,其實現效果如圖3.1所示:
圖3.1業務字典管理模塊實現效果圖
這樣的設計與實現使得該系統具備通用、方便、靈活等特點,并具有更高的可復用性、可維護性和可擴展性。在此系統的基礎上進行擴展開發可提高之后項目的開發效率,節約開發和維護成本。經過實踐證明,取得了很好的效果。
參考文獻
[1] 孫衛琴,李洪成.Tomcat與Java Web技術詳解[M].北京:電子工業出版社.2004.
[2] 邱述威,朱達榮,張霖.基于MVC+Struts的科研項目管理系統設計與實現[J].安徽建筑工業學院學報, 2006(1): 66-69.
[3] Rod Johnson. Introduction to the Spring Framework 2.5[EB/OL].
.
[5] Craig Walls,Ryan, Breidenbach. Spring in Action[M].Manning Publications, 2005.
[6] 王磊.基于Struts+Spring+Hibernate的架構設計及其在電子商務中的應用[D].電子科技大學,2007.
[7] Robert E Filman,Tzilla ELrad, Siobhan Clarke, Mehmet ksit. Aspect-Oriented Software Development[M]. AddisonWesley Professional, 2006.
[8] Martin Fowler. Inversion of Control Containers and the Dependency Injection pattern[EB/OL].省略/articles/injection.html.
[9] JBoss Community. Hibernate:Object/Relational Mapping and Object Persistence for Java[EB/OL]. 省略/.
[10] 楊帥.基于SSH的CRM系統的研究和設計[D].重慶:重慶交通大學,2009.
[11] 劉曉明.Web設計開發過程中EXT框架的應用與研究[D].大連:大連海事大學.2009.
[12] 吳昊.基于Struts和Hibernate構建GSM電子運行維護系統.成都:四川大學.2005.
ssh框架范文4
關鍵詞:SSH 集成 服務平臺
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-3973(2013)004-068-04
1 引言
當前國內存在很多具有不同計算能力的電磁計算軟件,用戶在有使用需求的時候往往需要購買整個軟件,而有時這種需求僅是有限的幾次,這就造成了成本上的浪費,非常有必要將這些計算軟件集成起來形成一個服務平臺,使用戶能夠按照需求購買計算。而對Strut2+Spring+Hibernate進行整合開發是當下流行的輕量級J2EE企業應用平臺,具有高度可擴展性、高度可維護性等特點。本文結合了電磁協同計算服務平臺的功能需求特點,在SSH框架下完成對多種計算方法的開發集成。
2 Strut2+Spring+Hibernate技術
2.1 Struts2
作為MVC模式框架,Struts2是由Struts1升級產生,它同時吸收了Struts1和WebWork兩者的優勢,從而在穩定性、健壯性等方面有了更好的保證。
Struts2的視圖層由JSP實現,可以使用標準的不包括業務邏輯和模型信息的HTML標簽、Struts標簽和JSTL標簽等技術,并使用FormBean在控制器和視圖之間傳遞表單數據,有利于分開表單邏輯和程序邏輯。
Struts2的控制層主要由ActionServlet和Action類實現。ActionServlet類是Struts框架最核心組件,負責接收HTTP請求,根據配置文件struts-config.xml中的配置信息,將請求轉發給Action對象,然后由Action、ActionMapping、ActionForward這幾個組件協同完成業務邏輯操作,其中Action負責調用模型方法,更新模型狀態并協助控制應用程序流程,ActionMapping包含了此次請求涉及的系統配置信息,ActionForward指定了不同業務邏輯或流程的跳轉方向。
Struts2的模型層的業務邏輯仍可以由JavaBean實現,雖然業務代碼可以寫在控制層的Action中,但為了體現層與層之間的區別,在實際開發中往往將業務邏輯和Action類分離實現。
2.2 Spring
Spring是一個為了解決企業應用程序開發復雜性而創建的開源框架,它由7個定義良好的模塊組成。它的主要功能是管理beans和切面編程。它可以很好地將Struts和Hibernate進行整合,并且管理由Struts和Hibernate生成的beans類,能夠很好地提高系統的運行效率。
2.3 Hibernate
Hibernate是一個主流的ORM框架,主要負責處理數據持久層。Hibernate對JDBC進行了封裝,實現了對數據庫的主要操作功能,并且提供了良好的事務處理機制以及自己的面向對象的查詢語句。
2.4 SSH集成框架
SSH是基于Struts2+Spring+Hibernate集成框架的縮寫,它從職責上可以分為4層:表示層、業務邏輯層、數據持久層和域模型層,以幫助開發人員在短期內搭建結構清晰、可復用性好,維護方便的Web應用程序。其中使用Struts2作為系統的整體基礎架構,負責MVC的分離,在Struts2框架的模型部分,利用Hibernate框架對持久層提供支持,業務邏輯層用Spring支持。具體的做法是:用面向對象的分析方法根據需求提出一些模型,將這些模型實現為基本的Java對象,然后編寫基本的DAO接口,并給出Hibernate的DAO實現,采用Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問,最后由Spring完成業務邏輯。(如圖1)
3 系統背景
電磁協同計算是基于電磁計算技術,利用網絡與通信技術將空間上分布在各地的多個計算機節點有機地組織起來,相互協作,以共同完成某一項復雜電磁計算任務的分布式計算方式,基于協同計算的計算機節點之間具有群集性、交互性、分布式和協同性等特征。
電磁協同計算服務平臺針對以上迫切需要解決的問題,著眼于構建自主、安全可控的協同電磁計算平臺。通過集成國內領先的高頻、低頻和混合算法,并利用網絡技術和協同計算技術將不同類型和用途的計算資源進行無縫連接、資源聚合和計算任務的分發、調度與管理,實現廣域分布資源的協同工作,形成電磁計算網絡和云計算服務體系。
電磁協同計算服務平臺能夠提供給用戶共享使用計算資源的能力,用戶可以利用共享資源進行電磁計算領域的包括建模、剖分、計算、數據處理和結果顯示等全生命周期設計。它要求系統具有良好的可擴展性、高可靠性、良好用戶界面、平臺兼容性、安全保密等特點。
基于電磁協同計算服務平臺的上述特點要求,此項目選擇了模塊化、分層清晰的SSH框架進行開發實現。
4 系統的實現
電磁計算服務平臺系統,Web服務器開發使用Tomcat,數據庫采用Mysql,開發工具使用MyEclipse集成Struts2、Hibernate和Spring的框架技術。同時利用Ajax技術,提高了頁面的訪問效率。下面以專業用戶根據非專業用戶的需求處理電磁計算任務為切入點,完成在SSH框架下部分系統功能代碼的實現。
ssh框架范文5
一、基于SSH框架的企業信息管理系統設計方案
(一)系統的目標與要求
系統的目標主要分為下面三個方面:一是保證系統可以全面跟蹤和管理企業內所有工作人員的基本資料;二是保證系統可以全面跟蹤和管理企業內的所有產品,并能確保根據使用者的工作要求不同,產品呈現的顯示方案也隨之改變;三是保證系統可以根據管理員的類型及職責的不同賦予其的操作權限也不相同。
系統的要求主要分為以下五個方面:一是系統的易擴展性,就是保證系統具有為日后功能拓展提供方便的功能;二是保證系統的易用性及易維護性,就是一方面保證系統軟、件界面友好、操作簡單、使用方便,另一方面保證系統具有較高的可測試性及可修改性,方便維護;三是保證系統的先進性及開放性,就是保證系統能夠結合企業實際情況進行管理,系統要具備一定的技術優勢及超前性,包括軟硬件兩個方面,尤其是接口的連接要方便;四是保證系統的經濟性,就是在不失質量的條件下,節省開支,提高效率;五是保證系統的標準性,就是平臺設計要遵守目前有關國家標準及行業標準。
(二)系統的功能設計
系統功能大體可分為六大模塊,分別是:用戶登錄管理模塊、權限管理模塊、用戶信息管理模塊、產品信息管理模塊、日志信息管理模塊、系統信息管理模塊。
用戶登錄管理模塊:此模塊的主要功能為管理用戶在本系統的登錄情況,對相關信息進行記錄處理。權限管理模塊:此模塊的主要功能為針對登錄本系統的不同的用戶的基本身分資料,對具體用戶的操作權限進行限制管理,也可以針對用戶合理的需求,對其權限進行一定范圍內的更改,該模塊也可以實時地創建新用戶角色。用戶信息管理模塊:此模塊的主要功能為管理企業所有員工的有關信息,并配有接口,賦予有關管理人員對資料的修改,保證員工信息可以得到及時有效地更新。產品信息管理模塊:此模塊的主要功能為管理企業所有產品的信息,管理的類容主要包括產品的生產流程信息,試驗與檢測信息,并能確保根據使用者的工作要求不同,產品呈現的顯示方案也隨之改變,以利于工作人員的查閱。日志信息管理模塊:此模塊的主要功能為記錄管理所有登陸到本系統的人員在系統內的操作信息,主要目的是為便于日后維護與更新工作。系統信息管理模塊:此模塊的主要功能為管理本系統本身的相關信息,例如系統的配置、系統的數據備份等類容。
(三)相關技術說明
1.J2EE技術。J2EE技術就是一個體系架構,其可通過Java2平臺,對企業解決方案的開發、部署方案以及管理方面的比較復雜的問題進行必要的簡化處理。它的基礎就是Java平臺或Java2平臺的標準版,一方面,其保留了很多標準版的有點,例如“編寫一次、隨處運行”的特性、方便存取數據庫的JDBC API、CORBA技術以及能夠在Internet應用中保護數據的安全模式等等;另一方面,其提供了對Enterprise JavaBeans(EJB),Java Servlet API,Java Server Pages(JSP)以及XML技術的全面支持。J2EE技術最主要的作用在于為企業開發者對市場投放時間進行大幅縮短提供了條件。
2.SSH框架。J2EE技術開發的開源框架常常就是SSH框架,SSH框架具體來說是三個框架的組合體,分別為:Struts、Hibernate、Spring。其中,Struts是一個基于Sun J2EE平臺的MVC框架,其由Servlet及JSP技術實現,在SSH框架中起到一個控制的作用,其核心為Controller,也就是Action,而Action的核心為struts.xml,就是用來處理主要控制的邏輯關系。Struts具有簡答適用、反應迅速等優點,可以很好地滿足開發需要,所以其得到了廣泛的青睞。Servlet、JSP自定義標簽和信息資源(message resources)可以通過Struts整合到一個統一的框架內,這就避免了開發設計人員再花大量的時間用來編碼實踐MVC模式。Spring是一個輕量級容器框架,主要作用是用來控制反轉模式(IOC)和面向切面編程(AOP)。所謂控制反轉(IOC)指的是在不創建對象的前提下,對創建它們的方式進行描述。
二、系統的總體設計與創新
(一)系統的總體設計
本系統運用SSH開源框架,利用J2EE技術,采用B/S架構進行開發設計,采用Oracle 11g數據庫,于系統總體結構設計的基礎上,對系統進行分層劃分,主要劃分為三層架構,即:顯示層、業務邏輯層及數
據訪問層。三層架構及其相互關系如圖1所示:
結合圖1分析,顯示層的作用主要為負責用戶和系統間的信息交互,顯示層采用的技術是JSP、HTML以及Struts。中間層的作用主要為負責系統各業務的邏輯操作,中間層采用的技術是Spring+Hibernate。數據訪問層的作用主要為實現與持久化對象的交互,該層主要是封裝了對數據庫的增、刪、查、改等操作,數據訪問層采用的技術是Hibernate。
(二)系統的創新
在系統開發時,采用輕量級的SSH開源框架開發系統的總體及各功能模塊有很多優點。在保持系統結構清晰的前提下,采用的模塊化組合的集成框架為系統開發和測試的并行操作提供了便利,從而使得系統的開發效率得到了明顯的提高。SSH框架為開源這一特點,也大大減少了系統開發的支出,并為系統功能拓展及更新提供了有力條件,同時利用接口技術,于Dao接口里封裝數據庫中所有的操作,使得可以通過訪問Dao接口,利用一定的手段和方式實現對數據庫的訪問操作。并于Daoimpl包內封裝所有的實現類,而于Service接口內封裝具體各類業務邏輯操作,所以可通過繼承Service接口,利用一定的手段和方式實現針對不同的業務邏輯操作,并于Serviceimpl包內封裝所有的實現類。如此,使得系統編程得到規范,并且使得系統開發更加清晰明朗,另外,其有助于未參與該項目開發的人員,在一個不長的時間里就可理解源代碼,對日后系統的維護與拓展極為有利。在本系統中,對象的調用流程為:JSPActionServiceDAOHibernate。并且,如果系統需要拓展功能,只要在選擇的接口上(如Dao接口或Service接口)添加定義新操作方法,也可以添加新的接口,接著在其實現類中完成相關操作的實現,以后用戶只需要通過相關的Action類在添加的新JSP頁面或更改的原JSP界面上實行調用就行了,并且與編寫時,必須考慮Structs.xml和Spring-context.xml文件的有關配置。如此,原系統就不要做很多更改,顯示了該系統良好的穩定性及安全性。
三、結語
ssh框架范文6
關鍵詞:S2SH;MVC模式;Ajax;JFreechart
中圖分類號: G250.7 文獻標識碼:A 文章編號:1008-4428(2012)11-118 -05
引言
非書資料是泛指所有非以書本形式呈現的資料,是所有不是書籍形式資料的通稱。這一類資料所記錄的事項,都需要經過印刷以外的方式才能制作完成,供讀者利用學習。目前各圖書館在對非書資料的管理方法上各有不同,而且都不同程度地存在著一些問題,還有一些圖書館甚至還沒有編目過任何非書資料。傳統的非書資料管理方法已經顯得比較落后,而在傳統的方式中一般都采用以下幾種方式:(1)盤與書采用外帶的方式;(2)采用光盤刻錄的方式;(3) 光盤壓縮后下載使用。
隨著數字圖書館的發展,非書資源網絡化管理是非書資源管理的必然趨勢,利用網絡提供在線服務,具有單機服務無可比擬的優點,如何通過網絡來有效管理和利用館藏的各類非書資源,最大限度地提高其使用價值,已成為圖書館人需要關注和研究的熱點問題之一。圖書館非書資源管理平臺可以有效管理和利用館藏的各類非書資源,最大限度地提高其使用價值。本文結合江蘇海事職業技術學院特點,設計了圖書館非書資源管理平臺,實現了非書資源的在線查詢和訪問,包括視頻資源(學術講座、文化歷史記錄、影視、音樂演唱會、經典 MTV 等)、外語學習(交互式外語學習資料,CD、VCD、磁帶等)、隨書資源(館藏隨書附贈的光盤和磁帶等)、課件資源(教學科研方面的一些課件)、電子圖書(可自由閱讀的電子圖書)、隨刊資源和網絡課堂等各種非紙質資源。
一、系統需求分析
通過瀏覽網頁的方式對各類非書資源管理平臺進行調查,并在分析綜合各類商業非書資源管理平臺分析的基礎上,結合本校的實際需求,確定系統的基本功能。
(一)系統功能
系統共分:光盤資源、視頻資源、音頻資源、電子書、教學課件,本校教師專著,畢業生論文、精美圖集功能模塊。
(二)資源的批量導入處理功能
可以批量的將數據和資源導入該系統數據庫中。管理員可以對所有的已入庫記錄按時間或是查詢次數進行查詢,對于某一時間段被使用次數非常少的光盤根據需要進行批量刪除,釋放服務器空間。
(三)用戶、IP地址、訪問日志的管理及統計
提供用戶、IP、日志的管理,支持光盤訪問統計和報表生成,同時支持用戶登陸認證。
管理員可以指定訪問隨書光盤資源的 IP 地址段,以及訪問時限。對于指定 IP 地址段以外的用戶若想使用該系統,可以從管理員處獲取一個用戶名和密碼,通過用戶登陸的方式進入該系統。
(四)資源類別管理
導入MARC內置解析中圖法分類,無需任何工具就能自動分類?!τ趯氲腗ARC信息無需任何操作,不但能支持中圖法分類還支持自定義分類法,并能自動識別該MARC信息中的分類號所屬分類。本系統給用戶提供了靈活的資料類別管理,用戶可以根據實際需要采用中國圖書館分類法、中國科學院圖書館圖書分類法或者自定義分類法等對資源進行分類。
(五)資源在線操作:點擊即可播放或閱讀操作等。
(六)資源數據的制作管理
系統將直接從圖書館opac系統采集數據然后導入到隨書光盤數據庫。不需要進行解marc的繁瑣操作,不用管理人員逐字逐句的將基本信息輸入,大大提高了工作效率。可根據讀者請求新增相應資源,可修改、刪除數據庫中已有數據同時可批量刪除。
二、系統設計
(一)功能設計
根據需求分析,將系統功能模塊按前臺瀏覽、檢索,后臺維護管理進行劃分。
(二)數據庫的設計
本系統采用MySQL作為底層關系數據庫,該數據庫由一系列產品組成,功能強大,不僅能夠滿足最大的數據處理系統和商業 Web 站點存儲數據的需要,還能為個人或小企業提供易于使用的數據存儲服務。系統主要有以下數據表:用戶信息表tb_user,記錄用戶的詳細信息;資源列表tb_resource, 記錄資源的詳細信息;類型表tb_type,記錄資源分類信息;部門表 tb_dept,描述系部信息。主要關系數據模型見圖1。
圖1 非書資源管理平臺主要數據表
(三)平臺設計原則
對于圖書館非書資源管理平臺的設計,主要基于以下幾個原則:
1、軟件具有很好的開放性,能與圖書館自動化系統實現無縫連接。
2、能在同一平臺上集中管理現有的各類非書資源。
3、可通過因特網實現遠程訪問,以滿足本部和成教院共建共享資源的需求。
系統開發環境
系統開發平臺—操作系統:Red Hat Enterprise Linux 5。
Web服務器:Apache Tomcat 6.0。
開發工具: Eclipse。
后臺數據庫:MySQL。
(五)系統應用框架
Struts2 是一個web應用框架。它不是一個Struts的新的版本,而是一個全新的框架。Struts2 是第二代基于Model-View-Controller?。∕VC)模型的web應用框架。Struts2是java企業級web應用的可擴展性的框架。它是WebWork和Struts社區合并后的產物。這一版本的Struts2聲稱,Struts2會接近于原先版本Struts,并且會更容易使用。struts 2沒有繼承struts 1的血統,而是繼承了Webwork的血統。
Hibernate是在JDBC之上提供一層薄薄的封裝,在提供完全透明的持久化機制的同時又提供盡可能多的靈活性。相比之Ibatis則是面向“語句映射”的層面,使用HQL作為查詢語言。
Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring的優點有:(1)方便解耦,簡化開發;(2)AOP編程的支持;(3)聲明式事務的支持;(4)方便程序的測試;(5)方便集成各種優秀框架;(6)降低Java EE API的使用難度。
利用Struts2、Spring和Hibernate三種輕量級框架的集成技術,本平臺采用了S2SH這種新型Web應用框架。S2SH由以上三種框架集成,包括由Struts2構建而成的Web層、由Struts2和Spring集成而成的業務層以及由Spring和Hibernate集成的持久層,符合J2EE應用的分層結構.S2SH以Spring為核心部件,向上集成Struts2,向下集成Hibernate,充分發揮了三者各自的優勢,具有很好的低耦合、擴展性和復用性。S2SH可作為許多Java Web應用的框架,具有良好的應用前景。
四、系統實現
MVC(Model-View-Controller,模型—視圖—控制器模式)是軟件工程中的一種軟件架構模式。它把軟件系統分為三個基本部分:模型(Model,視圖(View)和控制器(Controller)。MVC的優點是(1)可以為一個模型在運行時同時建立和使用多個視圖。(2)視圖與控制器的可接插性,允許更換視圖和控制器對象,而且可以根據需求動態的打開或關閉、甚至在運行期間進行對象替換。(3)模型的可移植性。因為模型是獨立于視圖的,所以可以把一個模型獨立地移植到新的平臺工作。需要做的只是在新平臺上對視圖和控制器進行新的修改。
在圖書館非書資源管理平臺采用MVC模式開發。下面將按照MVC模式分層介紹:
(一) 模型層
模型就是業務流程/狀態的處理以及業務規則的制定。業務流程的處理過程對其他層來說是黑箱操作,模型接受視圖請求的數據,并返回最終的處理結果。業務模型的設計可以說是MVC最主要的核心。該層處理的是與業務相關的邏輯請求,由于本系統業務邏輯不是很復雜,所以模型層主要包含實體類和數據庫操作部分。
實體類是對數據庫某張表的映射,數據庫的每一張表都有對應的實體類。
數據庫操作主要由Spring和Hibernate集成的持久層來完成。主要包含以下幾個方面:
1、數據庫連接池
數據庫連接池技術是指:在系統初期或者是初次使用時,完成數據庫的連接,而后不再釋放此連接而是在處理后面的請求時,反復使用這些已經建立的連接。這種方式可以大大減少數據庫的處理時間,又利于系統的整體性能;連接池一般比直接連接更有優越性,因為它在提高了性能的同時還保存了寶貴的資源。
本系統的數據庫連接池的實現通過在spring的appliation.xml的配置DBCP來實現,實現代碼如下:
com.mysql.jdbc.Driver
jdbc:mysql://localhost/resource?useUnicode=true&;
characterEncoding=utf-8
root
isroot123456
2、DAO層的實現
數據訪問接口 DAO是Data Access Object數據訪問接口,數據訪問:顧名思義就是與數據庫打交道,夾在業務邏輯與數據庫資源中間。Hibernate中實體類和數據庫表映射的關系通過Hibernate Annotation(注解)的方式來實現。Hibernate Annotation還支持新的 EJB 3持久性規范。這些規范旨在提供一種標準化的 Java 持久性機制。由于 Hibernate 3 還提供了一些擴展,因此您可以十分輕松地遵從這些標準,并使用 EJB 3 編程模型來對 Hibernate 持久層進行編碼。下面的注解反映了數據庫表和類TbDept之間的映射關系。
@Entity
@Table(name = "tb_dept", schema = "dbo", catalog = "resource")
public class TbDept implements java.io.Serializable
下面的注解反映了TbDept類中的屬性Id和數據庫表Tb_dept中主鍵Id的映射關系。
// Property accessors
@Id
@Column(name = "id", unique = true, nullable = false)
@GeneratedValue(strategy = IDENTITY)
public Integer getId() {
return this.id;
}
數據庫的操作通過spring+hibernate的集成來實現。系統中,所有數據庫的操作都封裝到相應的dao類中,Dao通過繼承org.springframework.orm.hibernate3.support.HibernateDao Support.HibernateDaoSupport來簡化操作,只需要幾條簡單的語句就能完成數據庫的增加、刪除、修改、查找等操作。以BaseDao為例,代碼如下:
public class BaseDao extends HibernateDaoSupport{
//保存對象至數據庫
public void save(Object o)
{
this.getHibernateTemplate().save(o);
}
//根據HQL語言查找數據,并將其封裝到List中
public List find(String sql)
{
return this.getHibernateTemplate().find(sql);
}
//根據java類查找對應表中的全部數據,封裝到List中
public List list(Class c)
{
String hql = "from " + c.getName();
List list = this.getHibernateTemplate().find(hql);
return list;
}
//將對象的信息更新到數據庫對應記錄中
public void update(Object o)
{
this.getHibernateTemplate().update(o);
}
//刪除對象對應的記錄
public void delete(Object o)
{
this.getHibernateTemplate().delete(o);
}
//查找類對應表中主鍵值為id的記錄,將其封裝到對象中
public Object get(Class c,int id)
{
return this.getHibernateTemplate().get(c, id);
}
(二) 控制層
控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄祿幚?。例如,用戶點擊一個連接,控制層接受請求后, 并不處理業務信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。
1、Action
本系統采用struts2框架,控制層由核心控制器FilterDispatcher和用戶編寫的業務控制器組成。核心控制器FilterDispatcher是Struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器Action和業務邏輯組件是需要用戶來自己實現的。用戶在開發Action和業務邏輯組件的同時,還需要編寫相關的配置文件,供核心控制器FilterDispatcher來使用。
struts.xml文件是整個Struts2框架的核心。Struts2框架的核心配置文件就是struts.xml配置文件,該文件主要負責管理Struts2框架的業務控制器Action。整個項目的控制都配置在整個文件中。struts2中主要就是配置action,下面就是對資源類型進行操作的action的配置。
typeAction!list
WEB-INF/page/manage/typeadd.jsp
當用戶的請求是typeSaveAction.action的時候,框架調用bean為typeSaveAction的類的execute的方法來完成對應的請求,在execute方法調用dao層來完成對應的業務邏輯,當用戶的返回是success,頁面跳轉到name=success的result指定的頁面中。當發生異常,頁面跳轉到name=input的result指定的頁面中。對應Action的代碼如下:
public String execute() {
if?。╰ype.getId()==null || type.getId()==0)
{
this.getBaseDao().save(type);
}
else
{
this.getBaseDao().update(type);
}
List typeList=this.getBaseDao().list(TbType.class);
ActionContext.getContext().getSession().put("typeList",typeList);
return "success";
}
2、攔截器
攔截器是Struts 2框架的核心,通過攔截器,實現了AOP(面向切面編程)。使用攔截器,可以簡化Web開發中的某些應用。本系統采用權限攔截器實現Web應用中的權限檢查。攔截器的實現分兩個步驟1)首先編寫攔截器的java類,該類要繼承自AbstractInterceptor,重寫intercept方法來完成權限檢查。驗證過程如下:
(1)如果請求的是LoginAction,轉到步驟5。否則,轉到步驟2。
(2)判讀用戶是否登錄過,如果登錄過,則繼續下一步;否則頁面跳轉到login.jsp,流程結束。
(3)調用Dao類,判斷用戶是否有權限操作該Action。如果有權限,則繼續下一步。否則提示沒有操作權限,返回到上一個頁面,流程結束。
(4)記錄日志,記錄的信息有該用戶操作的類型,時間等,繼續下一步驟。
(5)將請求轉到下一個攔截器處理,流程結束。
(三) 表示層
視圖(View)代表用戶交互界面,對于Web應用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應用的復雜性和規模性,界面的處理也變得具有挑戰性。一個應用可能有很多不同的視圖,MVC設計模式對于視圖的處理僅限于視圖上數據的采集和處理,以及用戶的請求,而不包括在視圖上的業務流程的處理。本系統使用JSP實現視圖層,在JSP中沒有任何業務邏輯代碼。通過使用struts2標簽庫,簡化JSP開發的難度,解決了在JSP頁面中,避免使用Java代碼的情況 ,能夠極大的簡化頁面開發。下面是typelist.jsp頁面中調用struts 2標簽的代碼:
${index.index+1}
${type1.type}
${type1.typelevel}
${type1.subtype}
${type1.score}
(四)相關技術的應用
1、Ajax
Ajax(Asynchronous JavaScript and XML)技術是目前深受Web用戶歡迎的一項技術,它利用JavaScript、DOM、XMLHttpRequest實現客戶端與服務器的異步交互。本系統中有多處地方使用了Ajax技術,以生成中圖分類樹為例,如果一次把所有中圖分類信息加載到頁面中,并且生成對應的樹,那么系統的效率將非常低,頁面的相應時間也會很長,采用Ajax技術,首先只要加載中圖分類的第一層,當用戶點擊相應的類型后,就通過Ajax將其子類別加載,極大的提高了系統的效率。效果如圖2:
2、JFreechart
為了能在Web瀏覽器上顯示圖表,要求用戶界面使用HTML以及圖片的方式來展現數據,而傳統的一些利用操作系統本身的控件來開發的用戶界面無法適應琳瑯滿目的客戶端。因此,為了創建一個可以在Web瀏覽器上查看到圖表,可以直接在web服務器端生成好圖表圖片文件后發送給瀏覽器。在本系統中我們采用JAVA的圖表引擎JFreeChart來產生基于WEB的圖表。它主要用來運行各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。這些不同式樣的圖表基本上可以滿足目前的要求。在本系統中,我們使用JFreeChart來顯示資源分布和下載情況,讓用戶可以對資源使用的大致情況一目了然。
3、文件上傳
在非書資源管理平臺中,需要管理員上傳資源文件,如視頻,課件等信息以提供讀者使用。在本系統中服務器處理文件上傳采用了apache公司提供的commons fileupload組件??蛻舳瞬捎昧硕辔募蟼鞑寮╦Query.MultiFile)能夠讓用戶一次性選擇多個要上傳的文件。此外該插件還提供一些基本的校驗功能比如:文件擴展名校驗。
4、性能測試
在很多實際的軟件開發項目中,安全測試已經成為軟件開發生命周期一個不可或缺的組成部分,并成為整個項目過程中的長期任務。本系統在測試中進行的是單元測試和集成測試來檢驗代碼設計,發現bug后及時修改。當以后系統投入正式使用后,也需要進行長期的維護。
Apache JMeter是一個專門為運行和服務器裝載測試而設計的、100%的純Java性能測試工具。使用JMeter模擬多個用戶并發訪問系統來驗證系統的性能。通過模擬100,200和400個用戶并發訪問,結果顯示系統能在正常的時間范圍內響應用戶的請求。
五、結束語
以上介紹了如何運用MVC模式來進行系統的設計與實現。隨著web應用程序的不斷發展,使用MVC模式可以很好的將web系統分為三層,使得程序開發人員更清楚的掌握項目的進度從而對系統進行更好的管理,在這種規范下設計出的web應用程序大大提高了軟件的可擴展性和重要性,保證了系統的穩定性、靈活性、易維護性。
系統設計時考慮到要向其他高校的推廣,在開發過程中就按照標準化設計和實現, 因此通用性強 , 易于推廣。系統支持模糊查詢和組合查詢,并且設計了多種方式生成報表。該系統已于 2010年3月試運行 ,運行狀況良好 ,證明了系統設計方法和思想的正確性。但由于技術和時間的關系, 系統還有一些不足之處 ,還需要繼續完善和進一步的研究。
參考文獻:
[1]Ryan Asleson. Foundations of Ajax[M].北京:人民郵電出版社,2006, 247-250.
[2]趙曉峰. 利用AJAX構建動態WEB應用[J].深圳信息職業技術學院學報,2006(4):47-50.
[3]應紅燕,馬銘錦.基于Struts和Hibernate框架的西文期刊導航系統[J].現代圖書情報技術,2009,25?。?1):88-92.
[4] 李紹平,彭志平.一種基于S2SH的Web應用框架及實現方法[J]. 微型電腦應用,2009,25(5):210-214.
[5]潘峰,宋揚. 基于Struts框架的商務網站平臺設計[J].商場現代化,2008,09:172-176.
[6]李歆.基于J2EE的網上交易系統的開發[J]. 咸寧學院學報,2007,06:54-58.
[7]田小波.陳蜀宇.MVC設計模式在J2EE架構下的研究與應用[J].西華大學學報,2007,02:27-31.
[8]任平,林佳.國內四種非書資源管理系統的比較研究[J].現代圖書情報技術,2008,24?。?1): 94-98.