国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于S2SH框架構(gòu)建Java EE Web應(yīng)用系統(tǒng)

2011-12-31 00:00:00邱曉榮
科技資訊 2011年10期


  摘要:目前,基于S2SH框架構(gòu)建Java Web應(yīng)用系統(tǒng),具有廣闊的發(fā)展空間。S2SH框架以Spring為核心部件,向上集成Struts2,向下集成Hibernate,充分發(fā)揮了各自的優(yōu)勢特點,具有良好的擴展性和復(fù)用性。
  關(guān)鍵詞:Struts2 Hibernate Spring Java EE
  中圖分類號:TN122文獻標(biāo)識碼:A 文章編號:1672-3791(2011)04(a)-0000-00
  
  隨著信息化和網(wǎng)絡(luò)化的飛速發(fā)展,越來越多的企業(yè)使用基于Java EE框架平臺來進行WEB應(yīng)用系統(tǒng)的研發(fā)。傳統(tǒng)的Java EE框架(EJB+JSP+Servlet)由于自身缺陷在很大程度上限制了WEB應(yīng)用系統(tǒng)的研發(fā)效率。而良好的輕量級Java EE框架不僅保留了傳統(tǒng)框架良好的可擴展性、可維護性、健壯性、安全性等特點,還具有靈活簡單、部署成本低、各層無縫集成等優(yōu)點。隨著多年的發(fā)展和改進,S2SH框架已經(jīng)成為大多數(shù)Web應(yīng)用系統(tǒng)研發(fā)的首選,它能更加合理有效地實現(xiàn)應(yīng)用系統(tǒng)的高內(nèi)聚和低耦合。
  
  1 S2SH框架簡介
  1.1 S2SH簡介
  輕量級的Java EE框架一般都是完全開源的框架,根據(jù)功能將應(yīng)用邏輯分為三層結(jié)構(gòu):表示層Struts2框架、業(yè)務(wù)邏輯層Spring框架以及數(shù)據(jù)持久層Hibernate框架,各層之間無縫鏈接并支持相應(yīng)的業(yè)務(wù)組件,這就構(gòu)成了當(dāng)前主流的Java EE輕量級框架組合S2SH。
  1.2 Struts2框架
  Struts框架是Apache軟件基金會下的一個開源項目,作為基于MVC模型的Web框架,從2001年推出以來一直都得到了最廣泛的應(yīng)用。但在使用過程中,Struts的缺陷也逐漸顯露出來。在這種情況下,Struts2在2007年上半年誕生了。Struts2整合了兩個優(yōu)秀的MVC框架:傳統(tǒng)的Struts1.x和WebWork。但Struts2實際上是WebWork2.2的升級版,因為它使用的是WebWork的設(shè)計核心而不是Struts1.x的設(shè)計核心。該框架由核心控制器、業(yè)務(wù)邏輯控制器、攔截器、結(jié)果類型和視圖等核心組件組成。
  1.3 Hibernate框架
  Hibernate框架是目前最為流行的ORM框架,包含了對JDBC的輕量級對象封裝,同時也提供了數(shù)據(jù)查詢和恢復(fù)機制,相對于使用JDBC和SQL來手工操作數(shù)據(jù)庫,Hibernate可以大大減少操作數(shù)據(jù)庫的工作量。另外,Hibernate還可以利用代理模式來簡化載入類的過程,這將大大減少利用HQL從數(shù)據(jù)庫提取數(shù)據(jù)代碼的編寫量,從而節(jié)約研發(fā)時間和研發(fā)成本。
  1.4 Spring框架
  Spring框架以IoC和AOP兩種先進技術(shù)為基礎(chǔ),完美地簡化了企業(yè)級研發(fā)的復(fù)雜度。該框架主要由AOP模塊、ORM映射模塊、Web模塊、DAO模塊、上下文模塊、Spring MVC框架、Spring核心模塊等七大模塊組成,每個模塊可以單獨使用也可以和其它模塊組合使用,靈活方便的部署使研發(fā)的程序更簡潔靈活。
  
  2 S2SH框架整合
  2.1 S2SH框架整合的原理
  2.1.1S2SH的體系結(jié)構(gòu)
  在S2SH框架的體系結(jié)構(gòu)中,Struts2框架一般主要用于表示層,直接面向用戶,響應(yīng)用戶的請求,并向用戶提供其所需數(shù)據(jù);Hibernate框架用于數(shù)據(jù)持久層,負責(zé)數(shù)據(jù)的持久化和ORM功能;Spring框架用于業(yè)務(wù)邏輯層,借助IoC容器和AOP實現(xiàn),集中處理系統(tǒng)的企業(yè)級服務(wù)。通過集成,可充分發(fā)揮這三種框架的優(yōu)勢,達到優(yōu)勢互補的效果,進一步提高Web應(yīng)用系統(tǒng)的重用性和擴展性。
  2.1.2 Struts2與Spring的整合
  整合Struts2與Spring框架之前,首先必須將Struts2的Spring插件復(fù)制到Web應(yīng)用的WEB-INF目錄下即可,同時還必須讓W(xué)eb應(yīng)用啟動時立即完成Spring IoC容器的初始化工作。完成以上準(zhǔn)備工作后,可充分利用Spring插件允許在Struts2的配置文件配置Action時,Class屬性無需指向Action的實際實現(xiàn)類,而是指向Spring IoC容器的BeanID,從而實現(xiàn)控制的轉(zhuǎn)移。即當(dāng)Struts2將請求轉(zhuǎn)發(fā)給指定的Action時,該Action只是一個偽控制器,而隱藏在Spring IoC容器的Action實例才是處理用戶請求的真實控制器。
  2.1.3 Spring與Hibernate的整合
  首先將Hibernate的配置文件整合到Spring的配置文件中,并通過Spring的LocalSessionFactoryBean來獲得SessionFactory實例。然后將DAO的實現(xiàn)類UserInfoDaoImpl.class直接繼承Spring的HibernateDaoSupport,通過HibernateDaoSupport的相關(guān)方法獲得Spring的HibernateTemplate實例,從而以面向?qū)ο蟮姆绞竭M行數(shù)據(jù)庫的原子操作。
  2.2 S2SH框架整合的優(yōu)點
  與傳統(tǒng)的Struts+Spring+Hibernate框架相比,S2SH的主要差別就在Struts框架上,傳統(tǒng)的Struts框架只支持單一的JSP,而Struts2框架支持多種表現(xiàn)層技術(shù),因而具有更好的適應(yīng)性。傳統(tǒng)的Struts框架與Servlet API嚴(yán)重耦合,它的Servlet API嚴(yán)重依賴于Web服務(wù)器,而Struts2框架沒有耦合任何的Servlet API,這使單元測試更為容易。傳統(tǒng)的Struts框架屬于侵入式設(shè)計,嚴(yán)重依賴于Struts API,代碼復(fù)用率低,而Struts2框架彌補了這些缺陷使得系統(tǒng)的可維護性大大提高。
  
  3 結(jié)語
  S2SH框架是目前Web應(yīng)用系統(tǒng)所采用的主流研發(fā)技術(shù),也是目前Java EE的發(fā)展方向。Struts2作為前臺控制框架規(guī)范了程序的研發(fā),使項目的可擴展性大大增強,提升了研發(fā)效率,降低了維護成本。Spring作為一個優(yōu)秀的輕量級框架,具有強大的靈活性,非常適合中間層平臺。Hibernate作為持久層上的ORM輕量級組件,對持久層進行了輕量級封裝,降低了程序的復(fù)雜度,減輕了研發(fā)的負擔(dān)。三個框架的組合將在軟件項目研發(fā)領(lǐng)域具有廣闊的發(fā)展空間。
  
  參考文獻
  [1]

缙云县| 奉贤区| 会泽县| 东乌| 盈江县| 固始县| 瓦房店市| 嵊州市| 临潭县| 宁乡县| 大同市| 济宁市| 剑阁县| 竹北市| 翼城县| 宿州市| 京山县| 来凤县| 昌乐县| 新沂市| 乌兰浩特市| 麻江县| 长沙县| 丰县| 商洛市| 汝南县| 娄底市| 咸丰县| 滁州市| 体育| 师宗县| 龙胜| 莱阳市| 遵义县| 胶南市| 遵义市| 石景山区| 石狮市| 江西省| 上饶县| 德化县|