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

基于Struts+Spring+Hibernate框架的科研管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2009-04-29 00:00:00倪建新
電腦知識(shí)與技術(shù) 2009年27期

摘要:該文討論了我校科研管理系統(tǒng)的體系結(jié)構(gòu)、功能模塊以及實(shí)現(xiàn)的關(guān)鍵技術(shù),該系統(tǒng)采用三層架構(gòu)的模式,利用Struts實(shí)現(xiàn)Web表現(xiàn)層,Hibernate實(shí)現(xiàn)數(shù)據(jù)訪問和持久化層,Spring實(shí)現(xiàn)業(yè)務(wù)層和整合工作,實(shí)踐表明本系統(tǒng)極大的提高了我校科研管理的效率。

關(guān)鍵詞: 科研管理;三層架構(gòu);Struts;Spring;Hibernate

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)27-7684-02

Scientific Management System Based on Struts+Spring+Hibernate Frameworks

NI Jian-xin

(Journal of Wuxi Teachers' College, Wuxi 214001, China)

Abstract: In this paper, discusses the Scientific Management System's architecture, function modules, key technologies, this system uses the three-tier architecture, the realization of Web performance using Struts, Hibernate for data access and persistence layer, Spring for business layer, practice shows that this system greatly improved the efficiency of Scientific Management in our college.

Key words: scientific management; three-tier architecture; struts; spring; hibernate

隨著校園網(wǎng)應(yīng)用以及教師專業(yè)化進(jìn)程的不斷深入,各高校和科研單位都對(duì)科研工作的數(shù)量和水平提出了新的要求,科研管理部門的工作量日趨加重,原先利用檔案或簡(jiǎn)單的統(tǒng)計(jì)軟件對(duì)科研項(xiàng)目,科研成果進(jìn)行管理,統(tǒng)計(jì),分析已經(jīng)變得越來越困難,而且其信息的滯后性也不能反映出學(xué)校目前的科研現(xiàn)狀,為了提高我校科研管理工作的效率,減少科研管理的工作量,使科研管理更加規(guī)范化,現(xiàn)代化,設(shè)計(jì)一個(gè)符合我校科研管理模式的科研管理系統(tǒng)就顯得十分重要,本文從系統(tǒng)結(jié)構(gòu),相關(guān)模塊及主要實(shí)現(xiàn)技術(shù)三個(gè)方面詳細(xì)描述了其實(shí)現(xiàn)過程。

1 系統(tǒng)結(jié)構(gòu)

本系統(tǒng)采用三層架構(gòu)的模式分為表現(xiàn)層、業(yè)務(wù)層和持久化層,利用Struts實(shí)現(xiàn)Web表現(xiàn)層,Hibernate實(shí)現(xiàn)數(shù)據(jù)訪問和持久化層,Spring實(shí)現(xiàn)業(yè)務(wù)層和整合工作,用MYSQL作為數(shù)據(jù)庫(kù)服務(wù)器,JSP服務(wù)器采用Tomcat, 在設(shè)計(jì)模式中,分層是一個(gè)非常重要的設(shè)計(jì)模式,可以剪斷層與層之間的耦合關(guān)系,在每層中只解決相關(guān)問題,利于發(fā)揮不同框架的功能,其總體結(jié)構(gòu)圖如圖1所示。

2 相關(guān)模塊及用例圖

本系統(tǒng)主要包括登錄模塊和科研信息的管理兩個(gè)功能模塊,其中科研信息的管理又可以細(xì)分為新增,修改,查詢,刪除,分頁,統(tǒng)計(jì)等,其實(shí)現(xiàn)的用例圖如圖2所示。

3 系統(tǒng)主要實(shí)現(xiàn)技術(shù)及相關(guān)代碼

3.1 Web表現(xiàn)層的實(shí)現(xiàn)

本系統(tǒng)利用Struts強(qiáng)大的標(biāo)簽庫(kù)和自動(dòng)校驗(yàn)功能,來實(shí)現(xiàn)數(shù)據(jù)的前端顯示,并把Action類的實(shí)例化交給Spring的IoC容器來完成,并采用一個(gè)模塊一個(gè)配置文件的手段,由login.xml、manage.xml和struts.xml負(fù)責(zé)登錄模塊、科研管理模塊以及全局配置。在登錄模塊中自定義了一個(gè)Action類LoginAction.java進(jìn)行登錄校驗(yàn),以Model-Driven方式來實(shí)現(xiàn),使用一個(gè)User值來傳遞數(shù)據(jù),登錄成功進(jìn)入系統(tǒng),失敗則顯示錯(cuò)誤信息,其配置文件代碼如下:

/index.jsp

error.jsp

在科研管理模塊中,為了代碼簡(jiǎn)單清晰,僅僅使用一個(gè)Action類ManageAction來實(shí)現(xiàn)新增,修改,查詢,刪除,分頁,以Property-Driven屬性驅(qū)動(dòng)模式來實(shí)現(xiàn),所有表單域都作為ManageAction的屬性,沒有值對(duì)象參與,通過Spring的Ioc容器將相關(guān)屬性注入,在一個(gè)類中實(shí)現(xiàn)了query(),save(),delete()等相關(guān)方法,為了讓用戶在使用時(shí)感覺更加人性化,在save()方法的配置文件中還定義了兩個(gè)過濾器來實(shí)現(xiàn)輸入數(shù)據(jù)的自動(dòng)校驗(yàn)功能,對(duì)于前端JSP頁面的顯示,主要通過使用Struts中的表單標(biāo)簽來實(shí)現(xiàn)。

在struts.xml中通過來包含導(dǎo)入的manage.xml和login.xml,從而實(shí)現(xiàn)全局配置。

3.2 數(shù)據(jù)層的實(shí)現(xiàn)

本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)采用Mysql來實(shí)現(xiàn),在Mysql中創(chuàng)建科研管理系統(tǒng)相關(guān)的數(shù)據(jù)表management,其表結(jié)構(gòu)主要字段如表1。

表創(chuàng)建完畢后,需要通過配置數(shù)據(jù)源將Hibernate和Spring整合在一起,這里直接使用MyEclipse中的DatasourceSessionFactory向?qū)硗瓿蛇@個(gè)工作,并生成Mapping文件和持久化類。

整個(gè)系統(tǒng)數(shù)據(jù)庫(kù)連接部分,也就是DAO類的實(shí)現(xiàn)非常簡(jiǎn)單,都是借助于父類HibernateDaoSupport來實(shí)現(xiàn),對(duì)于登錄模塊直接通過用戶名和密碼來查找驗(yàn)證,對(duì)于科研管理模塊中的新增,修改,查詢,刪除直接使用getHibenateTemplate()方法來實(shí)現(xiàn),對(duì)于數(shù)據(jù)分頁則使用Query類的setFirstResult()和setMaxResults()方法來實(shí)現(xiàn)。

其主要代碼如下:

Public List doInHibernate(Session session) throws HibernateException, SQLException{Query query=session.createQuery(sql1);

query.setFirstResult(startRow1);

query.setMaxResults(pageSize1);

return query.list();}

3.3 業(yè)務(wù)層的實(shí)現(xiàn)

本系統(tǒng)利用Spring的IoC容器整合了Web表現(xiàn)層,業(yè)務(wù)層和數(shù)據(jù)層,主要通過如下方法來實(shí)現(xiàn),將Struts中的Action類實(shí)例化,將DAO組件實(shí)例化,并將DAO組件實(shí)例注入業(yè)務(wù)邏輯組件,從而實(shí)現(xiàn)了業(yè)務(wù)邏輯組件和DAO組件的高度解耦,加載Hibernate模塊,提供數(shù)據(jù)源,為業(yè)務(wù)邏輯方法增加事務(wù)控制,借助于Spring的聲明式事務(wù)管理,并不需要添加任何代碼,所有的事務(wù)管理都放在Spring的application—Context.xml配置文件中,其中科研管理模塊Bean配置如圖3所示。

其相應(yīng)的Bean配置文件代碼如下:

從這里我們可以看出三層結(jié)構(gòu)的分布情況,層與層之間都是面向接口方式實(shí)現(xiàn),以此實(shí)現(xiàn)高度解藕。

4 結(jié)束語

本文討論了使用輕量級(jí)J2EE框架Struts+Spring+Hibernate的整合來開發(fā)J2EE應(yīng)用項(xiàng)目科研管理系統(tǒng),該架構(gòu)開發(fā)簡(jiǎn)潔、結(jié)構(gòu)清晰,并使系統(tǒng)具有良好的復(fù)用性、擴(kuò)展性和可維護(hù)性,通過添加更復(fù)雜的業(yè)務(wù)邏輯,可以滿足更多的實(shí)際需求,經(jīng)實(shí)踐表明,極大的提高了我校科研管理的效率。

參考文獻(xiàn):

[1] 劉聰.零基礎(chǔ)學(xué)Java Web開發(fā)[M].北京:機(jī)械工業(yè)出版社,2007.

[2] 李剛.Struts 2權(quán)威指南[M].北京:電子工業(yè)出版社,2007.

[3] 計(jì)磊,李里,周偉.J2EE—Eclipse struts Hibernate Spring整合應(yīng)用案例[M].北京:人民郵電出版社,2006.

主站蜘蛛池模板: 91精品伊人久久大香线蕉| 婷婷成人综合| 熟妇丰满人妻| 国产综合网站| 99热最新网址| 在线免费a视频| 国产91九色在线播放| 在线va视频| 亚洲二区视频| 99在线小视频| 亚洲Av激情网五月天| 欧美区一区| 日韩在线成年视频人网站观看| 亚洲成aⅴ人片在线影院八| 欧美成人午夜在线全部免费| 国产亚洲欧美日韩在线一区| 又爽又大又黄a级毛片在线视频| 一本大道无码高清| 久久久久人妻一区精品色奶水| 久久久久久久久18禁秘| 国产簧片免费在线播放| 无码日韩精品91超碰| 久久国产精品波多野结衣| 久久这里只有精品2| 欧美一区二区精品久久久| 色悠久久久| 日韩免费视频播播| 日韩欧美国产三级| 免费国产在线精品一区| AV熟女乱| 国产原创演绎剧情有字幕的| 国产成人做受免费视频| 亚洲日韩欧美在线观看| 亚洲国产日韩视频观看| 午夜综合网| 成人在线观看不卡| 国产JIZzJIzz视频全部免费| 久久夜色撩人精品国产| 亚洲精品黄| 伊人五月丁香综合AⅤ| 久久久噜噜噜久久中文字幕色伊伊| 这里只有精品在线播放| 中文字幕色在线| 国产亚洲精品97在线观看| 国产激情无码一区二区三区免费| 日本尹人综合香蕉在线观看| 91精品啪在线观看国产91九色| 四虎永久在线| 男女猛烈无遮挡午夜视频| 9丨情侣偷在线精品国产| 亚洲精品人成网线在线| 国产嫖妓91东北老熟女久久一| 欧美在线伊人| 永久成人无码激情视频免费| 久久婷婷六月| 欧美精品不卡| 国产激情国语对白普通话| 国产精品亚洲五月天高清| 无码丝袜人妻| 久草热视频在线| 久久熟女AV| 国产又粗又爽视频| 久久婷婷六月| 国产精品成人AⅤ在线一二三四| 91免费国产在线观看尤物| 在线看片中文字幕| 日韩精品欧美国产在线| 欧美日韩另类在线| AV在线麻免费观看网站| 亚洲欧美在线综合一区二区三区| 久久综合九色综合97婷婷| 亚洲第一极品精品无码| 国产日韩丝袜一二三区| 好久久免费视频高清| 亚洲国产精品一区二区第一页免 | 久青草国产高清在线视频| 欧美午夜视频| 五月天久久综合| 国产内射一区亚洲| 97se亚洲综合在线| www.狠狠| 啪啪永久免费av|