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

基于Struts+hibernate框架的研究

2009-03-30 04:52:54
新媒體研究 2009年3期

劉 明

[摘要]要開發現實世界的應用程序,特別是大規模的企業Web應用程序,開發人員必然會發現他們必須創建某種框架。J2EE提供針對Web的基本平臺,在經典的J2EE四層體系結構的基礎上增加數據持久層,提出基于J2EB五層體系結構的web開發框架;分析基于Struts框架的J2EE架構中實現對象持久性的局限性,從中分離出對象持久層,并將Hibernate這個面向對象的輕量級對象持久性技術集成到該架構。

[關鍵詞]struts hibernate web j2EE

中圖分類號:TP3文獻標識碼:A文章編號:1571—7597(2009)0210063-01

一、集成Struts框架與Hibernate框架實現MVC設計模式

Struts作為基于模型視圖控制器模式的應用架構,具有組件的模塊化、靈活性和重用性的優點。但是Struts框架主要是針對表示層設計的,對于后端的業務邏輯層支持不是很強,在進行項目開發中存在以下局限:

1.只能橫向分工,按模塊來劃分工作,軟件開發成本相應較高:

2.需要花很多時間在數據層的包裝以及不同模塊之間進行協調和溝通,導致開發時間的增加:

3.項目移植性相對較差,可能需要為不同數據庫編寫不同的SQL語句;

4.項目擴展性相對較差,適應新的需求或變更時要修改數據庫表結構、重新編寫SOL語句、備份數據庫等,對人員要求也相應較高;

5.由于開發人員數據庫操作水平參差不齊,開發經驗也不盡相同,導致系統性能可能會相對較差。

Hibernate是一個開放源代碼的O/R mapping(對象/關系映射)框架,它對JDBc進行了輕量級的對象封裝,以面向對象機制來處理數據庫操作。Hibernate不僅管理Java類到數據庫表的映射,還提供數據查詢和獲取數據的方法,大幅度減少開發時人工使用SQL和JDBC處理數據的時間。因此可以將Struts中的模型層分成兩部分:一部分負責業務邏輯;另一部分使用Hibernate實現對象持久性處理。同時分離出具體業務邏輯,新建一個業務邏輯層,專門負責用Hibernate來實現業務邏輯和持久性對象的交互。圖3顯示了集成Struts和Hibernate的MVC模型。Struts和Hibernate框架的整合實現了控制流、業務調用、表示這三者的分離,使系統在開發效率、可維護性、可擴展性方面均有良好的改進。

二、集成Struts和Hibe rnate實現J2EE分層架構

根據前面的分析,將Struts與Hibernate框架進行集成,構成了一個新的Web應用的開發框架,實現了J2EE應用系統的多層架構。該框架一方面繼承Struts框架在表示層的優點,提供完善的標記庫,負責頁面請求的接收和轉發,實現了表示邏輯和業務邏輯的分離;另一方面在數據持久層等方面發揮Hibernate框架的特點,由Hibernate框架實現持久層和事務的封裝,使業務邏輯與數據庫訪問分開。這樣有利于開發人員將注意力集中在業務邏輯的實現上,有利于系統的可維護性等。

集成Struts和Hibernate實現J2EE分層架構如圖2所示。系統采用的五層結構設計由客戶層、Web層、業務邏輯層、數據持久層、數據庫層組成。客戶層運行在用戶計算機的Web瀏覽器中;Web層運行在Web服務器中,它使用Struts框架技術實現,提供了接收/響應客戶端請求,控制整個系統工作流程,與業務邏輯層交互以及格式化業務數據并動態生成Web頁面等功能;業務邏輯層負責實現整個系統的核心業務邏輯,由JavaBeans或EJB來實現;數據持久層使用Hibernate框架技術實現,完成對象和關系的映射,負責對數據庫進行操作。

下面根據圖4對系統的各分層功能進行簡單分析:

1.客戶層。它是用戶用瀏覽器看到并直接與系統交互的層,主要是由HTML語言形成的網頁界面。

2.Web層。它從客戶層獲得客戶的輸入,傳遞給業務邏輯層的組件,再將從業務邏輯層獲得的處理結果以HTML文件的形式輸出到客戶端,形成網頁界面。Web層由Servlet和JSP程序組成,封裝在Web容器中。業務流程控制一般均由控制器Servlet來開發,響應用戶的查詢等請求并調用業務邏輯層的JavaBean來實現復雜的商務邏輯。

3.業務邏輯層。處理表示邏輯層傳遞過來的用戶響應,并將結果返回給客戶層。業務邏輯層封裝了系統提供給用戶的接口,是直接處理用戶請求的中心。這一層主要由JavaBean來實現。JavaBean的主要任務是處理商務邏輯,與客戶端交互,返回給它相應的操作結果等。

4.數據持久層。它完成持久對象到關系數據庫的映射,并對持久對象進行操作。業務邏輯模塊由Hibernate通過O/R映射文件實現對具體數據源的操作(即穿過持久層映射到具體的某個數據表),完成對數據庫的操作。對于小型的項目來說,這種實現確實是很高效且低成本的。

5.數據庫層。對象持久性的具體實現,可以是關系數據庫管理系統、文件存儲和對象數據庫存儲管理系統。

三、結束語

本文在傳統的J2EE框架中引入面向對象機制的數據持久層,使業務邏輯處理層有效地分離和隱藏了數據讀取和操縱中的所有數據訪問代碼細節,將客戶應用程序和底層存儲機制隔離開,完全抽象出開發應用程序時使用的數據物理細節,構建了更為有效的松耦合多層次web開發模型。

作者簡介:

劉明,女,漢族,遼寧省朝陽市人,大連交通大學軟件工程在讀碩士,朝陽師范高等專科學校數計系助教,研究方向:javaweb開發。

主站蜘蛛池模板: 国产无码高清视频不卡| 国产精品自拍合集| 久久99精品国产麻豆宅宅| 免费人欧美成又黄又爽的视频| 国产成人亚洲毛片| 精品伊人久久大香线蕉网站| 国产亚洲视频中文字幕视频| 一本久道热中字伊人| 试看120秒男女啪啪免费| 91破解版在线亚洲| 欧美日韩精品在线播放| 国产人妖视频一区在线观看| 久久久久夜色精品波多野结衣| 色综合久久综合网| 欧美一级专区免费大片| 日韩123欧美字幕| 国产h视频在线观看视频| 青草视频久久| 亚洲国产系列| 国产哺乳奶水91在线播放| 国产一区在线观看无码| 亚洲精品男人天堂| 2020国产在线视精品在| 欧美福利在线播放| 一级毛片在线免费视频| 久久中文字幕2021精品| 亚洲成人www| 91丝袜在线观看| 99热这里只有免费国产精品| 亚洲乱码视频| 国产精品永久在线| 国产又色又刺激高潮免费看| 久久网欧美| 天天综合网色中文字幕| 99国产精品国产| 国产成人啪视频一区二区三区| 欧美一区二区福利视频| 狠狠综合久久久久综| 中文字幕无码av专区久久| 国产剧情国内精品原创| 亚洲欧美人成人让影院| 欧美日韩91| 67194亚洲无码| 久久99蜜桃精品久久久久小说| 91po国产在线精品免费观看| 久久公开视频| 亚洲妓女综合网995久久| 久久人午夜亚洲精品无码区| 色偷偷av男人的天堂不卡| 婷婷午夜影院| 99在线免费播放| 国产激情第一页| 日韩亚洲综合在线| 国产人人射| 四虎精品国产永久在线观看| 国产精品永久不卡免费视频| 亚洲aⅴ天堂| 亚洲AV电影不卡在线观看| 国产va在线观看| 国产成人无码AV在线播放动漫 | 亚洲人成成无码网WWW| 久久久91人妻无码精品蜜桃HD| 午夜欧美理论2019理论| 日韩a级毛片| 日韩精品无码免费一区二区三区| 91精品免费久久久| 欧美爱爱网| 欧美精品成人| 在线精品自拍| 久久久精品国产SM调教网站| 毛片网站在线播放| 老司机久久精品视频| 97久久免费视频| 国产91精品调教在线播放| 中国一级特黄大片在线观看| 成人福利在线观看| 国产在线第二页| 国产偷倩视频| 毛片手机在线看| 全免费a级毛片免费看不卡| 国产99视频免费精品是看6| 99视频精品在线观看|