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

基于SSH的J2EE架構(gòu)在信息管理中的應(yīng)用

2007-12-31 00:00:00
商場(chǎng)現(xiàn)代化 2007年21期

[摘要]本文提出了基于輕量級(jí)Web 框架——Struts + Spring + Hibernate的系統(tǒng)結(jié)構(gòu), 介紹了Struts 的MVC結(jié)構(gòu)、Spring 的基本組成和結(jié)構(gòu)以及Hibernate的基本對(duì)象,并將三種框架技術(shù)整合起來(lái)應(yīng)用到系統(tǒng)中, 給出一個(gè)具體的實(shí)例配置,前端采用Struts 的MVC框架,中間層采用Spring,后臺(tái)采用Hibernate,提高了項(xiàng)目代碼的可重用性和開發(fā)效率。

[關(guān)鍵詞]MVC STRUTS SPRING HIBERNATE J2EE

面對(duì)日益復(fù)雜的軟件規(guī)模,人們深刻地認(rèn)識(shí)到,選擇良好的開發(fā)框架對(duì)保證系統(tǒng)的成功至關(guān)重要。成熟的框架會(huì)減少重復(fù)開發(fā)工作量、縮短開發(fā)時(shí)間、降低開發(fā)成本, 增強(qiáng)程序的維護(hù)型和可擴(kuò)展性。J2EE多層分布式應(yīng)用體系結(jié)構(gòu)的出現(xiàn)促進(jìn)了軟件業(yè)的巨大改變,但J2EE龐大的體系顯得有些臃腫,因此J2EE輕量級(jí)架構(gòu)——Struts +Spring+Hibernate目前已經(jīng)成為開發(fā)Web應(yīng)用的主流。

一、開源框架Struts 、Spring 、Hibernate

1.Web 框架Struts。Struts 框架是由Apache 軟件組織提供的一項(xiàng)開源項(xiàng)目,一個(gè)基于模型(Model)——視圖(View)——控制器(Controller)(MVC)模式的應(yīng)用架構(gòu)的開源框架。框架分為三部分: 模型、視窗和控制器。

模型:從概念上模型分為兩類:系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的動(dòng)作。模型是所有的商業(yè)邏輯代碼片段所在。一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù),因此提高了應(yīng)用的可重用性。

視窗:與控制器Servlet配合工作的一整套JSP定制標(biāo)簽庫(kù)構(gòu)成,利用它可以快速建立應(yīng)用系統(tǒng)的界面。

控制器: 控制器可以理解為模型與視圖間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇適當(dāng)?shù)囊晥D用于顯示。其本質(zhì)上是一個(gè)Servlet,將客戶端請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的Action類。

MVC模式的使用,減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,使視圖層更富于變化。

2.Spring框架。Spring是一個(gè)開源項(xiàng)目,為簡(jiǎn)化企業(yè)級(jí)系統(tǒng)開發(fā)而誕生的輕量級(jí)解決方案,可建立“快裝式企業(yè)應(yīng)用”。在此基礎(chǔ)上,還提供了包括聲明式事務(wù)處理,RMI或Web Services遠(yuǎn)程訪問(wèn)業(yè)務(wù)邏輯,以及可以多種方法進(jìn)行的持久化數(shù)據(jù)庫(kù)的解決方案。

Spring可以看作是一個(gè)標(biāo)準(zhǔn)開發(fā)組件,根據(jù)自己的需要,只取用它的部分組件使用而無(wú)須涉及其他。Spring的框架基礎(chǔ)是JavaBean屬性的Inversion of Control 容器。

3.Hibernate框架。Hibernate是一個(gè)免費(fèi)的開源Java包,一個(gè)面向Java 環(huán)境的對(duì)象或關(guān)系數(shù)據(jù)庫(kù)映射工具。它使得與關(guān)系數(shù)據(jù)庫(kù)打交道變得十分輕松,就像您的數(shù)據(jù)庫(kù)中包含每天使用的普通Java對(duì)象一樣,更不必考慮如何把它們從神秘的數(shù)據(jù)庫(kù)表中取出或放回。

工作方式:它不會(huì)強(qiáng)迫您修改對(duì)象的行為方式,也不需要實(shí)現(xiàn)任何不可思議的接口以便能夠持續(xù)存在。惟一需要做的就是創(chuàng)建一份XML“映射文檔”,告訴Hibernate您希望能夠保存在數(shù)據(jù)庫(kù)中的類,以及它們?nèi)绾侮P(guān)聯(lián)到該數(shù)據(jù)庫(kù)中的表和列,然后就可以要求它以對(duì)象的形式獲取數(shù)據(jù),或者把對(duì)象保存為數(shù)據(jù)。

二、基于SSH的J2EE架構(gòu)的應(yīng)用

開發(fā)實(shí)踐中可將這三種框架整合起來(lái)應(yīng)用到我們的Web項(xiàng)目中不同層,制作一個(gè)員工信息管理系統(tǒng)。

1.以管理信息系統(tǒng)中用戶日志管理的登錄為例, 簡(jiǎn)單介紹如何在配置文件中將Struts、Spring 和Hibernate 三者有機(jī)地結(jié)合起來(lái)。

Spring 整合Struts的配置的web.xml,在WEB服務(wù)器起動(dòng)后加載所有的配置,其配置如下所示:

contextConfigLocation

/WEB-INF/config/spring/applicationContext*.xml

com.framework.spring.web.context.ContextLoaderListener

action

org.apache.struts.action.ActionServlet

/WEB-INF/config/struts/struts-config.xml

action*.do

在Struts 的配置文件中有相應(yīng)的代碼:

type=”com.examsystem.examdb.web.LoginAndLogoutAction”>

以上兩段代碼完成用戶登錄動(dòng)作, 下面由相應(yīng)的action 來(lái)處理具體的業(yè)務(wù)邏輯, 如從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)來(lái)驗(yàn)證用戶的合法性等。對(duì)數(shù)據(jù)庫(kù)的操作由Hibernate 來(lái)完成,Spring 配置文件中有如下語(yǔ)句:

com/ntu/domain/pojo/hbm/Employee.hbm.xml

相應(yīng)的Employee.hbm.xml 文件內(nèi)容如下:

2.架構(gòu)的結(jié)構(gòu)流程(如圖所示)

圖構(gòu)架的結(jié)構(gòu)

WEB服務(wù)器啟動(dòng)后,將加載WEB應(yīng)用,并把STRUTS和SPRING同時(shí)也加載到SERVLET容器中,當(dāng)有一客戶請(qǐng)求到達(dá)服務(wù)器時(shí),ACTION SERVLET將查找ACTION匹配請(qǐng)求的ACTION,然后委托到指定的ACTION。在該ACTION中,調(diào)用Business service方法來(lái)處理相應(yīng)的業(yè)務(wù)邏輯。這一過(guò)程中,Hibernate處在DAO層,用于處理所有與數(shù)據(jù)庫(kù)的操作。這里也體現(xiàn)了三層架構(gòu):第一層,表現(xiàn)層(STRUTS),它有一個(gè)總的控制器ActionServlet,從客戶端傳來(lái)的動(dòng)作都會(huì)由這個(gè)控制來(lái)處理,或者轉(zhuǎn)發(fā)到真正的ACTION那里來(lái)處理,當(dāng)這個(gè)請(qǐng)求處理完之后,再返回到ActionServlet,找到要呈現(xiàn)給客戶端的頁(yè)面;第二層,業(yè)務(wù)邏輯層,處理相關(guān)的商業(yè)邏輯,并且使他們的處理都處在同一個(gè)事務(wù)中,這樣當(dāng)有某一個(gè)操作出現(xiàn)錯(cuò)誤時(shí),保證數(shù)據(jù)庫(kù)能恢復(fù)到最初狀態(tài),從而保證數(shù)據(jù)的完整性;第三層,持久層(Hibernate 和 DB數(shù)據(jù)庫(kù)),Hibernate把最原始的JDBC封裝了起來(lái),Hibernate的好處在于我們不用直接寫SQL語(yǔ)句,可用對(duì)象或HSQL來(lái)取得所需數(shù)據(jù)。

三、結(jié)束語(yǔ)

Struts+Spring+Hibernate 是目前國(guó)內(nèi)外眾多知名軟件企業(yè)最主流的應(yīng)用技術(shù), 也是J2EE 未來(lái)發(fā)展的趨勢(shì), 在項(xiàng)目開發(fā)實(shí)踐中應(yīng)用該構(gòu)架,降低了程序的復(fù)雜度, 易于調(diào)試, 減輕了程序員的負(fù)擔(dān), 具有很強(qiáng)的擴(kuò)展性,該結(jié)合框架一定具有美好的前景。

參考文獻(xiàn):

[1]Hibernate 官方網(wǎng)站:http://www.hibernate.org.

[2]Struts 官方網(wǎng)站:http://Jakarta.apache.org/struts/index.html

[3]Spring 網(wǎng)站:http://www.springframework.org/

[4]黃煙波張紅宇:基于Struts和Hibernate的J2EE構(gòu)架 計(jì)算機(jī)時(shí)代.2004年第10期

[5]胡曉丹魏長(zhǎng)軍:基于Struts + Spring + Hibernate 架構(gòu)的能源管理系統(tǒng)的研究.計(jì)算機(jī)與現(xiàn)代化.2006年第12期

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

主站蜘蛛池模板: 国内熟女少妇一线天| 日韩不卡高清视频| 久久婷婷六月| 亚洲欧美在线综合图区| 国产免费网址| 青青草国产一区二区三区| 久久香蕉欧美精品| 日韩中文无码av超清 | 欧美一级色视频| 亚洲第一成年免费网站| 不卡无码h在线观看| 国产免费精彩视频| 一本大道无码日韩精品影视| 国产乱子伦一区二区=| 一级爱做片免费观看久久| 九九久久精品免费观看| 久久久久免费精品国产| 欧美区一区| 亚洲AⅤ永久无码精品毛片| 欧美精品v日韩精品v国产精品| 九九九久久国产精品| 国产三级国产精品国产普男人| 毛片网站观看| 亚洲精品视频免费看| 亚洲欧洲AV一区二区三区| 九九这里只有精品视频| 天天激情综合| 亚洲综合香蕉| 国产屁屁影院| 狠狠色综合久久狠狠色综合| 色老二精品视频在线观看| 国产乱子伦无码精品小说| 91www在线观看| 一级毛片无毒不卡直接观看| 青青操国产| 亚洲性日韩精品一区二区| 亚洲国模精品一区| 欧美一区日韩一区中文字幕页| 欧美成人手机在线观看网址| 99热最新网址| 久久天天躁夜夜躁狠狠| 直接黄91麻豆网站| 亚洲欧美自拍视频| 亚洲有码在线播放| 欧美人在线一区二区三区| 在线看片免费人成视久网下载| 97影院午夜在线观看视频| 亚洲国产一成久久精品国产成人综合| 国产午夜福利在线小视频| 国产欧美视频综合二区| 精品丝袜美腿国产一区| 久久久噜噜噜久久中文字幕色伊伊 | 免费观看精品视频999| 蜜桃臀无码内射一区二区三区 | 国产综合精品一区二区| www.日韩三级| 亚洲天堂视频在线免费观看| 免费在线国产一区二区三区精品| a级免费视频| 久热这里只有精品6| 在线综合亚洲欧美网站| 香蕉国产精品视频| 国产美女自慰在线观看| 天天综合网色| 久久人妻xunleige无码| 日本久久久久久免费网络| 宅男噜噜噜66国产在线观看| 久久久久久久蜜桃| 免费在线色| 久久超级碰| 99尹人香蕉国产免费天天拍| 毛片在线播放a| 国产乱人乱偷精品视频a人人澡| 国产靠逼视频| 国产精品欧美日本韩免费一区二区三区不卡 | 亚洲午夜国产精品无卡| 国产人成在线视频| 国产正在播放| 国产特一级毛片| 少妇精品网站| 99热国产在线精品99| 亚洲系列无码专区偷窥无码|