亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Struts+hibernate框架的研究

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

        劉 明

        [摘要]要開發(fā)現(xiàn)實世界的應(yīng)用程序,特別是大規(guī)模的企業(yè)Web應(yīng)用程序,開發(fā)人員必然會發(fā)現(xiàn)他們必須創(chuàng)建某種框架。J2EE提供針對Web的基本平臺,在經(jīng)典的J2EE四層體系結(jié)構(gòu)的基礎(chǔ)上增加數(shù)據(jù)持久層,提出基于J2EB五層體系結(jié)構(gòu)的web開發(fā)框架;分析基于Struts框架的J2EE架構(gòu)中實現(xiàn)對象持久性的局限性,從中分離出對象持久層,并將Hibernate這個面向?qū)ο蟮妮p量級對象持久性技術(shù)集成到該架構(gòu)。

        [關(guān)鍵詞]struts hibernate web j2EE

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

        一、集成Struts框架與Hibernate框架實現(xiàn)MVC設(shè)計模式

        Struts作為基于模型視圖控制器模式的應(yīng)用架構(gòu),具有組件的模塊化、靈活性和重用性的優(yōu)點。但是Struts框架主要是針對表示層設(shè)計的,對于后端的業(yè)務(wù)邏輯層支持不是很強,在進(jìn)行項目開發(fā)中存在以下局限:

        1.只能橫向分工,按模塊來劃分工作,軟件開發(fā)成本相應(yīng)較高:

        2.需要花很多時間在數(shù)據(jù)層的包裝以及不同模塊之間進(jìn)行協(xié)調(diào)和溝通,導(dǎo)致開發(fā)時間的增加:

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

        4.項目擴(kuò)展性相對較差,適應(yīng)新的需求或變更時要修改數(shù)據(jù)庫表結(jié)構(gòu)、重新編寫SOL語句、備份數(shù)據(jù)庫等,對人員要求也相應(yīng)較高;

        5.由于開發(fā)人員數(shù)據(jù)庫操作水平參差不齊,開發(fā)經(jīng)驗也不盡相同,導(dǎo)致系統(tǒng)性能可能會相對較差。

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

        二、集成Struts和Hibe rnate實現(xiàn)J2EE分層架構(gòu)

        根據(jù)前面的分析,將Struts與Hibernate框架進(jìn)行集成,構(gòu)成了一個新的Web應(yīng)用的開發(fā)框架,實現(xiàn)了J2EE應(yīng)用系統(tǒng)的多層架構(gòu)。該框架一方面繼承Struts框架在表示層的優(yōu)點,提供完善的標(biāo)記庫,負(fù)責(zé)頁面請求的接收和轉(zhuǎn)發(fā),實現(xiàn)了表示邏輯和業(yè)務(wù)邏輯的分離;另一方面在數(shù)據(jù)持久層等方面發(fā)揮Hibernate框架的特點,由Hibernate框架實現(xiàn)持久層和事務(wù)的封裝,使業(yè)務(wù)邏輯與數(shù)據(jù)庫訪問分開。這樣有利于開發(fā)人員將注意力集中在業(yè)務(wù)邏輯的實現(xiàn)上,有利于系統(tǒng)的可維護(hù)性等。

        集成Struts和Hibernate實現(xiàn)J2EE分層架構(gòu)如圖2所示。系統(tǒng)采用的五層結(jié)構(gòu)設(shè)計由客戶層、Web層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層、數(shù)據(jù)庫層組成??蛻魧舆\行在用戶計算機(jī)的Web瀏覽器中;Web層運行在Web服務(wù)器中,它使用Struts框架技術(shù)實現(xiàn),提供了接收/響應(yīng)客戶端請求,控制整個系統(tǒng)工作流程,與業(yè)務(wù)邏輯層交互以及格式化業(yè)務(wù)數(shù)據(jù)并動態(tài)生成Web頁面等功能;業(yè)務(wù)邏輯層負(fù)責(zé)實現(xiàn)整個系統(tǒng)的核心業(yè)務(wù)邏輯,由JavaBeans或EJB來實現(xiàn);數(shù)據(jù)持久層使用Hibernate框架技術(shù)實現(xiàn),完成對象和關(guān)系的映射,負(fù)責(zé)對數(shù)據(jù)庫進(jìn)行操作。

        下面根據(jù)圖4對系統(tǒng)的各分層功能進(jìn)行簡單分析:

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

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

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

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

        5.?dāng)?shù)據(jù)庫層。對象持久性的具體實現(xiàn),可以是關(guān)系數(shù)據(jù)庫管理系統(tǒng)、文件存儲和對象數(shù)據(jù)庫存儲管理系統(tǒng)。

        三、結(jié)束語

        本文在傳統(tǒng)的J2EE框架中引入面向?qū)ο髾C(jī)制的數(shù)據(jù)持久層,使業(yè)務(wù)邏輯處理層有效地分離和隱藏了數(shù)據(jù)讀取和操縱中的所有數(shù)據(jù)訪問代碼細(xì)節(jié),將客戶應(yīng)用程序和底層存儲機(jī)制隔離開,完全抽象出開發(fā)應(yīng)用程序時使用的數(shù)據(jù)物理細(xì)節(jié),構(gòu)建了更為有效的松耦合多層次web開發(fā)模型。

        作者簡介:

        劉明,女,漢族,遼寧省朝陽市人,大連交通大學(xué)軟件工程在讀碩士,朝陽師范高等??茖W(xué)校數(shù)計系助教,研究方向:javaweb開發(fā)。

        …日韩人妻无码精品一专区| 久久亚洲精品中文字幕蜜潮 | 久久久久国色av∨免费看| 国产亚洲欧美日韩国产片| 国产在线观看黄片视频免费| 国产麻花豆剧传媒精品mv在线| 国产午夜无码片在线观看影院| 国产亚洲欧美日韩综合一区在线观看 | 精品一区二区三区久久久| 91热久久免费频精品99| 亚洲最新无码中文字幕久久| 蜜桃麻豆www久久囤产精品| 亚洲国产精品嫩草影院久久| 富婆叫鸭一区二区三区| 日韩三级一区二区三区| 亚洲av永久精品爱情岛论坛| 99久久免费国产精品2017| 国产蜜臀精品一区二区三区| 手机免费在线观看av网址| 日本乱偷人妻中文字幕在线| 精品国产AⅤ无码一区二区| 国产在线看不卡一区二区| 水野优香中文字幕av网站| 久久久久人妻一区二区三区| 亚洲产国偷v产偷v自拍色戒| 欧美日本免费一区二| 我的极品小姨在线观看| 亚洲成av人综合在线观看| 午夜精品久久久久久中宇| 国产精品自线在线播放| 国产丝袜美腿在线播放| 精品国产av色一区二区深夜久久| 亚洲h视频| 国内精品极品久久免费看| 亚洲av天堂免费在线观看| 日本丰满熟妇bbxbbxhd| 中文字幕天天躁日日躁狠狠| 国产一区二区在线免费视频观看| 中文字幕中文有码在线| 人妻丰满av∨中文久久不卡 | 7878成人国产在线观看|