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

        ?

        基于Struts和Hibernate框架的Web應(yīng)用研究與實(shí)現(xiàn)

        2015-05-30 16:26:20錢新杰等
        科技資訊 2015年9期
        關(guān)鍵詞:框架

        錢新杰等

        摘 要:良好的體系結(jié)構(gòu)和開發(fā)框架對一個Web應(yīng)用的設(shè)計(jì)、開發(fā)、擴(kuò)展、維護(hù)具有重要的意義,可以很好地提高代碼的復(fù)用性,滿足系統(tǒng)的“高內(nèi)聚低耦合”原則。Struts是一種基于MVC的Web框架,實(shí)現(xiàn)了表示層和業(yè)務(wù)邏輯層的分離,提高了系統(tǒng)的開發(fā)維護(hù)效率;Hibernate是一種開源的持久層框架,保證系統(tǒng)具有更好的移植性,降低了數(shù)據(jù)庫設(shè)計(jì)的復(fù)雜度。

        關(guān)鍵詞:MVC Struts Hibernate 框架

        中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2015)03(c)-0021-01

        隨著Java EE技術(shù)應(yīng)用的不斷增多,選擇一種高效的實(shí)用的軟件開發(fā)框架成為軟件開發(fā)設(shè)計(jì)人員的基本要求。在Web應(yīng)用開發(fā)設(shè)計(jì)中,一個成熟的框架不但可以提高代碼的重用性,減少重復(fù)代碼開發(fā)的工作量,降低開發(fā)成本,還可以保證系統(tǒng)具有較好的移植性、可維護(hù)性和可擴(kuò)展性,降低數(shù)據(jù)庫設(shè)計(jì)的復(fù)雜度。目前基于Java EE平臺上常見的Web框架有:Struts、spring、Hibernate等。

        1 Struts和Hibernate框架與Web應(yīng)用

        MVC模式是一個存在于服務(wù)器端表達(dá)層的模型,它是“Model(模型)--View(試圖)--Controller(控制器)”三個單詞的縮寫,MVC模式將應(yīng)用分開,改變應(yīng)用之間的高度耦合。

        Struts的含義是“支干、支柱”,它的目的是為了幫助減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時間。實(shí)質(zhì)上就是在JSP Model2的基礎(chǔ)上實(shí)現(xiàn)的一個MVC框架,模型為JavaBean和EJB組件,控制器為ActionServlet和Action,視圖為JSP和Struts客戶化標(biāo)簽。Struts將Servlet和JSP標(biāo)記用作實(shí)現(xiàn)的一部分。它繼承了MVC的各項(xiàng)特性,并根據(jù)JavaEE的特點(diǎn)作了相應(yīng)的變化和擴(kuò)展。

        在Struts體系結(jié)構(gòu)中視圖就是一組JSP文件,在這些JSP文件中既沒有業(yè)務(wù)邏輯,也沒有模型信息,只有標(biāo)準(zhǔn)的JSP標(biāo)簽或客戶化標(biāo)簽。模型表示應(yīng)用程序的狀態(tài)和業(yè)務(wù)邏輯,對于大型應(yīng)用,業(yè)務(wù)邏輯通常由JavaBean或EJB組件來實(shí)現(xiàn)??刂破鞯闹饕δ軓目蛻舳私邮照埱?,決定執(zhí)行什么業(yè)務(wù)邏輯功能,然后將產(chǎn)生下一步用戶界面的責(zé)任委派給一個適當(dāng)?shù)腣iew組件。

        Hibernate是一個O/R Mapping(對象/關(guān)系映射)框架,提供強(qiáng)大的對象與關(guān)系數(shù)據(jù)庫映射及查詢功能,即是將Java中的對象和對象間的關(guān)系,對應(yīng)到關(guān)系型數(shù)據(jù)庫中的表格和表格間的關(guān)系,也能夠把關(guān)系型數(shù)據(jù)庫中的表格和表格間的關(guān)系對應(yīng)到Java中的對象和對象間的關(guān)系。它的基本工作原理是Hibernate通過對JDBC進(jìn)行封裝,并對關(guān)系數(shù)據(jù)庫與Java類進(jìn)行mapping,從而來實(shí)現(xiàn)對關(guān)系數(shù)據(jù)庫的面向?qū)ο蠓绞降牟僮?,這樣傳統(tǒng)的JDBC+SQL的操作數(shù)據(jù)方式就得到了改變,程序開發(fā)人員能夠用更多的時間和精力來進(jìn)行對象方面的開發(fā)。同時為各種不同的數(shù)據(jù)庫提供了統(tǒng)一操作的接口,讓Hibernate對幾乎所有的數(shù)據(jù)庫開發(fā)都支持,從而使應(yīng)用程序的跨數(shù)據(jù)庫開發(fā)變?yōu)榱丝赡堋?/p>

        2 Web系統(tǒng)應(yīng)用實(shí)例

        下面以一個課程成績管理系統(tǒng)Web應(yīng)用為例,闡述在Struts+Hibernate框架技術(shù)下如何進(jìn)行實(shí)現(xiàn)。由于系統(tǒng)功能在事務(wù)處理邏輯與代碼設(shè)計(jì)上具有較多的相似性,因此只選取系統(tǒng)Hibernate實(shí)現(xiàn)、登錄模塊實(shí)現(xiàn)2個具有代表性的模塊功能加以闡述。

        2.1 Hibernate初始化

        首先需要定義一個類來對Hibernate進(jìn)行初始化,并由它來創(chuàng)建全局的Session

        Factory實(shí)例,提供創(chuàng)建Session實(shí)例、關(guān)閉Session實(shí)例、打開/關(guān)閉事務(wù)和重新創(chuàng)建SessionFactory實(shí)例的方法。這里定義一個HibInit類來完成上述的功能,具體實(shí)現(xiàn)SessionFactory創(chuàng)建、session獲取和關(guān)閉、事務(wù)開始、關(guān)閉和回滾等功能。

        SessionFactory創(chuàng)建部分的主要代碼為:

        try{sessionFactory=new Configuration().configure().buildSessionFactory();}

        catch(Throwable ex){ex.printStack

        Trace();

        System.out.println("SessionFactory初始化失敗");

        throw new ExceptionInInitializerError(ex);

        }

        2.2 映射文件創(chuàng)建

        通過對數(shù)據(jù)庫的分析,已知系統(tǒng)中主要包含系統(tǒng)管理員表(admin)、教師信息表(teacher)、學(xué)生信息表(student)、課程信息表(course)、班級信息表(class)、學(xué)生課程與成績表(enrol)六個表,為了實(shí)現(xiàn)用Hibernate來進(jìn)行對象持久化操作,就需要對上述的六個表進(jìn)行Hibernate映射文件創(chuàng)建。創(chuàng)建的映射文件為XX.xml,方法用Hibernate輔助工具自動生成。

        2.3 持久化類創(chuàng)建

        進(jìn)行完映射文件創(chuàng)建后,還需要對持久化類進(jìn)行創(chuàng)建,并將創(chuàng)建好的持久化類放在映射文件的同一個包中,以實(shí)現(xiàn)對各類基本信息的持久化操作。

        2.4 Struts配置

        在課程成績管理系統(tǒng)登錄模塊中,對用戶所提交的信息進(jìn)行驗(yàn)證標(biāo)識以及不同角色對應(yīng)頁面跳轉(zhuǎn)功能主要是通過配置登錄的LoginForm進(jìn)行實(shí)現(xiàn)的,以此首先必須在struts-config.xml中進(jìn)行相應(yīng)的配置,基本代碼如下:

        省略

        2.5 LoginForm模型創(chuàng)建

        在課程成績管理系統(tǒng)登錄模塊中,還需要在這里創(chuàng)建一個繼承于ActionForm的模型,用于向Action提交信息,部分基本代碼為:

        public class LoginForm extends ActionForm{

        public void reset(ActionMapping mapping,HttpServletRequest request){}

        public void setPassword(String password){this.password=password;}

        }

        3 結(jié)語

        通過對Web系統(tǒng)應(yīng)用實(shí)例程成績管理系統(tǒng)分析,闡述了Struts+Hibernate框架實(shí)現(xiàn)過程,很好的提高了代碼的重用性,降低開發(fā)成本,并保證了系統(tǒng)良好的移植性、可維護(hù)性和可擴(kuò)展性,降低了數(shù)據(jù)庫設(shè)計(jì)的復(fù)雜度,提高了開發(fā)效率。

        參考文獻(xiàn)

        [1] 李剛.經(jīng)典Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2010.

        [2] 劉偉,張利國.Hibernate開發(fā)與實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社.

        [3] (美)Christian.Hibernate實(shí)戰(zhàn)[M].北京:人民郵電出版社,2008.

        猜你喜歡
        框架
        框架
        廣義框架的不相交性
        WTO框架下
        法大研究生(2017年1期)2017-04-10 08:55:06
        關(guān)于原點(diǎn)對稱的不規(guī)則Gabor框架的構(gòu)造
        一種基于OpenStack的云應(yīng)用開發(fā)框架
        基于Hadoop的DDoS檢測框架
        亚洲av无码国产精品色软件| 亚洲精品乱码久久久久久按摩高清 | 精品福利一区二区三区| 精品亚洲成a人在线观看| 亚洲日本在线电影| 国产亚洲欧美精品一区| 国产无套粉嫩白浆内精| 亚洲视频网站大全免费看| 日韩亚洲欧美中文在线| 国产精品亚洲А∨天堂免下载| 一个人的视频免费播放在线观看| 亚洲中文字幕在线综合| 极品少妇被猛的白浆直喷白浆 | 骚片av蜜桃精品一区| 老司机在线免费视频亚洲| 国产三级a三级三级| 国产欧美日韩久久久久| 亚洲人成18禁网站| 伊人精品成人久久综合97| 国产精品成熟老女人| 国产va免费精品观看| 美女极度色诱视频国产免费| 亚洲中文字幕一区二区在线| √天堂中文官网在线| 无码毛片aaa在线| 看全色黄大色大片免费久久久 | 精品av天堂毛片久久久| 久久国产乱子伦精品免费强| 精品亚洲av一区二区| 中文字幕人妻伦伦| 少妇极品熟妇人妻无码| 丝袜美腿爆炒国产在线观看| 成人影院视频在线免费观看| 少妇丰满大乳被男人揉捏视频| 国产精品九九九久久九九| 永久免费看黄在线观看| 国产免费久久精品99久久| 亚洲成色在线综合网站| 久久青青草视频免费观看| 亚洲国产精品久久又爽av| 久久露脸国产精品|