999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

J2EE集成開源框架的應用與研究

2009-04-29 00:00:00
電腦知識與技術 2009年14期

摘要:在設計模式MVC思想的基礎之上,該文提出了基于WebWork、Spring和Hibernate的J2EE輕量級集成框架的應用。首先簡要的介紹了這三種開源軟件的基礎技術,然后給出了整個集成框架的原理,最后分析了在Web項目中集成框架的應用,并說明了集成框架在代碼復用和開發效率上的優勢。

關鍵詞:MVC;框架;WebWork;Spring;Hibernate;代碼復用

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)14-3704-02

The Research and Application based on J2EE Integrated Open-source Framework

CHEN Cheng

(Xingzhi Academy, NanJing Xiaozhuang College, Nanjing 210012, China)

Abstract: Based on the popular design patterns MVC, it has proposed the lightweight J2EE integrated framework based on WebWork, Spring and Hibernate, firstly has introduced the foundation of the three open-sources software, then has presented the principle of the integrated structure, lastly has analyzed the applications in the Web project based on the integrated framework, as well as has show the advantages of the integrated framework in the code reuse and the development efficiency.

Key words: MVC; framework; WebWork; Spring; Hibernate; the code reuse

1 引言

隨著信息技術的發展和B/S應用程序的廣泛使用,為能簡單高效地開發Web項目,迫切需要一個通用、穩定的集成架構,來提高工作效率、增強程序的可維護性和可擴展性。本文選擇開源框架WebWork、Spring和Hibernate相結合的應用,實現了一套方便靈活、低耦合、易維護的開發方式。

2 J2EE開源框架

2.1 MVC模式

傳統的Web項目開發,存在諸多不足,MVC模式(Model View Controller, MVC)的出現使其得到了改進和完善。在MVC模式中Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Model的數據或者屬性,所有依賴的View都會自動更新。只要Controller改變了View的部分,View會潛在的從Model中獲取數據來刷新自己。基于MVC應用程序的開發總是由這三個部分共同協作來完成。MVC組件的關系和功能如圖1所示。

MVC設計模式是利用控制器來分離模型和視圖,從而達到一種層間松散耦合的效果,減弱業務邏輯接口和數據接口之間的耦合性,提高了系統的靈活性、可復用性和可維護性。現在網絡開發框架多數都遵循MVC設計模式,效果較好。

2.2 WebWork框架

WebWork是基于Command設計模式的,致力于組件化和代碼重用的強大的開源框架[2]。在利用WebWork框架開發的過程中,根據業務邏輯創建的實現方法xAtion擔任控制器的角色,它實現了WebWork類庫中XWork中的Action接口。其主要功能是從請求中獲取前臺頁面需要傳送的參數值,把這些值傳遞給執行業務邏輯操作的模型對象,由業務對象執行業務邏輯操作,并返回給轉向頁面用來顯示執行的結果。

MVC中的表現層負責頁面的顯示和業務邏輯的處理,利用WebWork的標簽庫與JavaScript腳本語言相結合的方式實現。WebWork框架從Web中脫離出來,與框架Struts相比,在Action類的抽象和Web環境的耦合方面具有優勢,在開發過程中更加方便和實用。

2.3 Spring框架

Spring框架是一個分層的J2EE應用程序框架,它是一個從實際項目開發經驗中抽取出來的,可高度重用的開發框架[1]。Spring模塊構建在核心容器之上,核心容器定義了創建、配置和管理 bean 的方式。Spring通過接口松藕合的JavaBean模型提供了基于IoC 容器的BeanFactory和基于AOP (面向方面編程)框架的JavaBean組件,不需要在程序中維護組件之間的依賴關系,只要在配置文件applicationContext.xml中設置屬性,Spring容器將自動依賴注入到相關的組件,完成業務方法層組件的配置與加載。使Web應用開發過程中,能實現邏輯層和數據訪問層的完全分離。Spring框架與持久層框架Hibernate集成到一起,從而實現支持DAO以及事務策略,提高代碼的可重用性。

2.4 Hibernate框架

Hibernate是一種實現對象和關系映射的框架,它對JDBC進行了輕量級的對象封裝,使程序員能使用面向對象的思想來操作關系數據庫,Hibernate的目標是減輕開發者與大量普通數據持續性相聯系的一些編程任務,在開發進程中,能自動生成SQL,使開發者擺脫了手工處理結果集和進行對象轉化的繁瑣任務,并能使應用程序移植到所有的SQL數據庫,提供透明的持續性。在使用Hibernate框架時,通過編寫O/R映射描述文件,完成對象、關系數據庫之間的映射,持久對象則根據映射文件生成,最后,編寫業務邏輯類[7]。在實際開發中,以上工作不需要程序員編寫,利用MyEclipse自帶的Hibernate框架,通過配置和數據庫之間的連接,即可導出所需要的JavaBean類。JavaBean類實現具體的業務邏輯,也封裝了對Hibernate的訪問,為應用程序提供數據持久服務。

3 集成框架原理

整個J2EE輕量級Web集成開發架構選用WebWork、Spring和Hibernate 3種框架技術,實現集成架構。客戶端層采用JSP表示,用WebWork自帶的標簽庫和JavaScript實現客戶端的顯示和控制,并做相應的請求和響應;表示層用WebWork統一管理視圖和控制器部分,利用WebWork的ServletDispatcher作為控制器,接受客戶端的HTTP請求,創建并調用對應的Action實現類,完成與業務邏輯層的交互,并返回執行結果到客戶端層;業務邏輯層是利用接口與實現相分離的方式編寫對應的Service對象,在Spring的IoC容器中登記為業務模型,由Spring負責管理和配置DAO組件,提供給對應的Action完成業務邏輯,同時提供事務處理、緩沖池等容器組件來提升系統的性能,保證數據完整性;數據持久層采用Hibernate框架,使用導入DAO的方式完成最終的Java類和數據庫之間的轉換和訪問;數據層采用關系數據管理系統,如Oracle,MySQL等。整個集成開發架構如圖2所示。

采用上述方式,利用WebWork、Spring和 Hibernate框架各自的優勢,能有效實現視圖、控制器與模型的分離,將業務邏輯層和數據持久層獨立出來。其中,框架WebWork在Web程序開發中起到重要作用。

4 集成框架的應用

開發中,有很多Web項目使用J2EE的開源框架,本文重點介紹一下利用開源框架WebWork、Spring和Hibernate相結合的方式來開發Web項目。 選擇MyEclipse作為Java的開發平臺,其可以直接加載項目所需要的開源框架WebWork、Spring和Hibernate的相關的類以及配置文件。

4.1 加載開源框架類

在Web項目中,首先導入Spring開源框架,建立SessionFactory對應的類,MyEclipse開發平臺將加載Spring運行的相關類和applicationContext.xml配置文件,然后在Spring的基礎之上加載Hibernate,根據關系型數據庫所建立的表,在MyEclipse中的配置打開數據庫連接,導入數據表的對象類和一些基本的數據操作的實現方法。另外還需要把WebWork相關的類復制到項目中,添加XWork.xml文件,并且在web.xml文件中配置我們所用的WebWork框架,使其加載類在項目中能夠正常的使用。

4.2 登陸模塊的應用

在實際Web項目中,這三種框架相結合使用的事例較多,用法基本相同,只是功能有所差別。以用戶登陸模塊為例做一介紹,如:前臺JSP頁面功能,其主要實現代碼如下:

用戶名:

密碼:

4.3 XWork.xml的配置

從JSP頁面上將用戶輸入的用戶名和密碼提交后,將轉入配置文件XWork.xml中,通過這個配置文件尋找Java后臺處理登陸過程邏輯的類,同時將提交的內容轉移到Java邏輯類中進行判斷處理。登陸模塊配置的主要代碼如下:

index.jsp

error.jsp

4.4 邏輯處理

如上XWrok.xml中的配置相對應,在LoginAction這個類中,使用UserLogin的邏輯處理方法,用于判斷用戶名和密碼是否和數據庫中的數據相符,以此做出不同的處理,并返回給頁面顯。UserLogin方法實現主要代碼如下:

public String Userlogin(){

int flag = lb.CheckLogin(username, password); //判斷是否合法

……

User user = lb.getLoginUser (username);

session. setAttribute (\"user\", user);

return Action.SUCCESS;

}

另外,在數據庫的導入過程中,根據數據庫中表的名稱,采用Hibernate框架可以將對象類User.java和操作類UserDAO.java這兩個類導入到項目中,在處理邏輯的過程中可以直接調用,方便快捷,加速了項目開發的周期。

4.5 前臺頁面響應

在后臺根據用戶名和密碼做出判斷,在前臺顯示結果,主要表現為兩方面,一個是頁面的轉向,通過XWork.xml的配置得出要跳轉到哪個頁面。如上面程序所示,如果返回Action. ERROR,則轉向error.jsp;如果返回Action. SUCCESS,則轉向index.jsp。另一個是信息的反饋,通過Session或Request將需要傳送到前臺頁面的值放到緩沖區里,然后顯示在JSP頁面相應的位置。

從上面這個登陸流程的簡單的例子可以看出,在整個集成框架中不存在與業務邏輯無關的垃圾代碼,也沒有SQL查詢語句,整個開發過程完全是面向對象的操作方式和可動態配置、可移植的Xml文件,大大提高了開發效率。

5 總結

綜上所述,將 WebWork、Spring和Hibernate三種開源框架集成在一起,形成一種輕量級Web開發架構。該架構充分發揮了三者的優點,層次清晰,具有較高的伸縮性、可擴展性和可復用性,開發簡潔、維護方便,在Web項目的設計和開發中有一定的優勢和廣泛的應用前景。

參考文獻:

[1] Raible M. Spring Live[M]. 2004,Source Beat Publishing.

[2] LightBody P,WebWork in Action[M]. Manning Publications Co.2005.

[3] 閻宏.Java與模式[M]. 北京:電子工業出版社,2005.

[4] Johnson R. J2EE設計開發編程指南[M]. 北京:電子工業出版社,2003.

[5] 孫衛琴. 精通對象持久化技術詳解[M]. 北京:電子工業出版社,2005.

[6] Eckel B. Java編程思想[M]. 侯捷,譯.北京:機械工業出版社,2002.

[7] 夏昕,曹曉鋼,唐勇. 深入淺出Hibernate[M]. 北京:電子工業出版社,2005.

主站蜘蛛池模板: 国产99免费视频| 中文无码毛片又爽又刺激| 四虎永久在线精品国产免费| 国产成人精品午夜视频'| 免费女人18毛片a级毛片视频| 亚洲最大福利网站| 午夜日韩久久影院| 久久国产高清视频| 91在线激情在线观看| www.91中文字幕| 不卡的在线视频免费观看| 91精品啪在线观看国产91九色| 国禁国产you女视频网站| 国产成年女人特黄特色大片免费| 97国产精品视频人人做人人爱| 久久久久无码国产精品不卡| 国产精品免费福利久久播放| 激情综合激情| 91国语视频| 亚洲欧州色色免费AV| 69免费在线视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 天天摸夜夜操| 秘书高跟黑色丝袜国产91在线| 中文天堂在线视频| 高清不卡一区二区三区香蕉| 午夜无码一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 亚洲精品桃花岛av在线| 国产一区在线视频观看| 乱人伦视频中文字幕在线| 理论片一区| 91原创视频在线| 欧美日韩v| 特级aaaaaaaaa毛片免费视频 | 免费99精品国产自在现线| 91亚洲影院| 国产成人精品高清不卡在线 | 福利在线一区| 亚洲人免费视频| 成人精品区| 99性视频| 无码内射中文字幕岛国片| 国产乱子伦视频三区| 国产手机在线小视频免费观看| 美女无遮挡免费视频网站| 欧美综合区自拍亚洲综合绿色| 日韩午夜福利在线观看| 国产亚洲欧美在线专区| 国产一区免费在线观看| 2021天堂在线亚洲精品专区| 国产又粗又猛又爽视频| 国产高潮流白浆视频| 久久亚洲国产视频| 91破解版在线亚洲| 中日无码在线观看| 天堂岛国av无码免费无禁网站| 国产av一码二码三码无码| 黄色网站不卡无码| 91口爆吞精国产对白第三集| 风韵丰满熟妇啪啪区老熟熟女| 国产午夜不卡| 99视频在线免费| 在线观看免费人成视频色快速| 国产福利免费在线观看| 日本成人在线不卡视频| 日韩毛片基地| 在线中文字幕网| 久久精品国产精品一区二区| 亚洲美女一级毛片| 国产精品网拍在线| 在线免费亚洲无码视频| 成人年鲁鲁在线观看视频| 国模极品一区二区三区| 色综合a怡红院怡红院首页| 欧美视频二区| 亚洲色图在线观看| 精品伊人久久久久7777人| 亚洲天堂首页| 亚洲婷婷六月| 亚洲Aⅴ无码专区在线观看q| 亚洲国产精品美女|