Struts+Spring+Hibernate的WEB公開發(fā)框架課件_第1頁
Struts+Spring+Hibernate的WEB公開發(fā)框架課件_第2頁
Struts+Spring+Hibernate的WEB公開發(fā)框架課件_第3頁
Struts+Spring+Hibernate的WEB公開發(fā)框架課件_第4頁
Struts+Spring+Hibernate的WEB公開發(fā)框架課件_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

基于Struts+Spring+Hibernate的WEB公共開發(fā)框架基于Struts+Spring+Hibernate的WEB公1主要內(nèi)容開發(fā)框架的技術(shù)特點公共開發(fā)框架的結(jié)構(gòu)與使用主要內(nèi)容開發(fā)框架的技術(shù)特點2開發(fā)框架技術(shù)特點開發(fā)框架實現(xiàn)MVC機制開發(fā)框架使用Struts+Spring+Hibernate的輕量級J2EE構(gòu)架視圖層與控制層-Struts事務管理與JavaBean依賴注入-Spring數(shù)據(jù)持久層-Hibernate-Spring+Hibernate開發(fā)框架技術(shù)特點開發(fā)框架實現(xiàn)MVC機制3Struts+Spring+Hibernate的WEB公開發(fā)框架課件4利用Spring加載業(yè)務對象實例在Action類實例中業(yè)務對象實例通過Spring的依賴注入機制進行加載業(yè)務層的事務由Spring的AOP通過聲明來完成數(shù)據(jù)訪問對象由容器在運行期動態(tài)注入利用Spring加載業(yè)務對象實例在Action類實例中業(yè)務對5Spring簡介Spring非常的全面和標準.Spring是一個分層構(gòu)架,意思是你可以選擇只用它的一部分,而不影響其他.它的構(gòu)架體系是內(nèi)部相容的。開發(fā)框架重點使用了Spring構(gòu)架的以下內(nèi)容:依賴注入事務管理與Hibernate的集成Spring簡介Spring非常的全面和標準.Sprin6一、初始化Spring環(huán)境利用Spring的ApplicationContext加載機制,在web.xml中增加:

<servlet><servlet-name>context</servlet-name><servlet-class>

org.springframework.web.context.ContextLoaderServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><context-param><param-name>contextConfigLocation</param-name><param-value>

/WEB-INF/dataAccessContext-local.xml

/WEB-INF/applicationContext.xml</param-value></context-param>一、初始化Spring環(huán)境7二、在Action類實例中加載業(yè)務對象實例------通過Spring的依賴注入機制進行加載WebApplicationContextwac=WebApplicationContextUtils.

getRequiredWebApplicationContext(servletContext);ITUserFacadetUserManager=(ITUserFacade)

wac.getBean(“tUserManager");與配置文件中的BeanID進行匹配與配置文件中的8三、Spring配置文件

<beanid=“tUserManager"parent="baseTransactionProxy">

<propertyname="target">

<beanclass="com.nbw.sample.domain.logic.TUserImpl">

<propertyname=“tUserDAO">

<refbean=“tUserDAO"/>

</property>

</bean>

</property>

</bean><beanid="baseTransactionProxy"class="erceptor.

TransactionProxyFactoryBean"abstract="true">

<propertyname="transactionManager"><refbean="transactionManager"/></property>

<propertyname="transactionAttributes">

<props>

<propkey="insert*">PROPAGATION_REQUIRED</prop>

<propkey="update*">PROPAGATION_REQUIRED</prop>

<propkey="*">PROPAGATION_REQUIRED,readOnly</prop>

</props>

</property>

</bean>事務管理三、Spring配置文件<beanid=“t9三、Spring配置文件(續(xù))<beanid="tUserDAO"

class="com.nbw.sample.dao.hibernate.TUserDAO"

<propertyname="sessionFactory">

<reflocal="sessionFactory"/>

</property>

</bean><beanid="tUserManager"parent="baseTransactionProxy">

<propertyname="target">

<beanclass="com.nbw.sample.domain.logic.TUserImpl

">

<propertyname="tUserDAO

">

<refbean="tUserDAO"/>

</property>

</bean>

</property>

</bean>三、Spring配置文件(續(xù))<beanid="tUse10數(shù)據(jù)持久層-DAO的使用publicclassTUserDAOextendsHibernateDaoSupportimplementsITUserDAO{publicListgetUsers(){ListuserList=getHibernateTemplate().find("fromTUser");//POtoVO ListvoUserList=newVector(); try{for(inti=0;i<userList.size();i++) {TUseranotherUser=newTUser(); BeanUtils.copyProperties(anotherUser,(TUser)userList.get(i)); voUserList.add(anotherUser);} } catch(Exceptionex) {ex.printStackTrace();} returnvoUserList;}}數(shù)據(jù)持久層-DAO的使用publicclassTUser11公共開發(fā)框架的結(jié)構(gòu)與使用應用程序包結(jié)構(gòu)及目錄結(jié)構(gòu)公共開發(fā)框架的結(jié)構(gòu)與使用應用程序包結(jié)構(gòu)及目錄結(jié)構(gòu)12數(shù)據(jù)訪問對象包Hibernate實現(xiàn)包業(yè)務對象包

VO包業(yè)務邏輯包

控制層 action包,其目錄下存放請求對應的Action類form包,其目錄下存放各請求對應的ActionForm類 開發(fā)框架包,

提供開發(fā)框架所需類以及常用工具類

13jsp目錄下存放Web應用的jsp文件JSP文件放在WEB-INF下可保證JSP頁面的安全

14公共開發(fā)框架提供三個基類BaseAction類

BaseActionForm類

CommonException類公共開發(fā)框架提供三個基類BaseAction類15公共開發(fā)框架的使用-BaseAction類BaseAction類提供通用異常處理機制。BaseAction類的使用方法繼承BaseAction類,實現(xiàn)doExecute()抽象方法。在doExecute()方法中編寫請求處理代碼。相關路徑BaseAction類位于

mon包中公共開發(fā)框架的使用-BaseAction類16公共開發(fā)框架的使用-ActionForm類

BaseActionForm類對Struts的ActionForm的校驗機制進行了封裝。BaseActionForm提供兩個常用校驗方法1.校驗字符串是否有空protectedvoidaddErrorIfStringEmpty

(ActionErrorserrors,StringmessageKey,Object[]messageArgs,Stringvalue)

公共開發(fā)框架的使用-ActionForm類

BaseAct17公共開發(fā)框架的使用-ActionForm類2.校驗字符串與指定的正規(guī)表達式是否匹配:protectedvoidaddErrorIfStringNotMatch

(ActionErrorserrors,StringmessageKey,

Object[]messageArgs,Stringvalue,Stringregexp)BaseActionForm類的使用方法繼承BaseActionForm,覆寫它的doValidate()方法,在doValidate方法中實現(xiàn)自已的表單元素的校驗,校驗錯誤信息存入名為errors的參數(shù)中。校驗過程中可使用BaseActionForm提供的兩個常用校驗方法。公共開發(fā)框架的使用-ActionForm類2.校驗字符串與18公共開發(fā)框架的使用-ActionForm類校驗錯誤信息的顯示表單校驗失敗后,請求轉(zhuǎn)發(fā)到該請求對應的JSP頁面。如果JSP頁面中有錯誤信息,則在JSP頁面中使用Struts標志<html:errors/>,顯示錯誤信息。相關路徑BaseActionForm類位于

mon包中公共開發(fā)框架的使用-ActionForm類校驗錯誤信息的顯19公共開發(fā)框架的使用-異常處理BaseAction類中提供了通用的異常捕捉及處理機制BaseAction負責處理CommonException類型的異常,并在頁面中顯示相應的提示信息CommonException類CommonExceptionExceptionpublicListgetExceptions()publicvoidaddException(CommonExceptionex)publicvoidsetMessageKey(Stringkey)publicStringgetMessageKey()publicvoidsetMessageArgs(Object[]args)publicObject[]getMessageArgs()公共開發(fā)框架的使用-異常處理BaseAction類中提供了通20公共開發(fā)框架的使用-異常處理setMessageKey(Stringkey)設置異常提示信息的消息Key publicvoidsetMessageArgs(Object[]args)設置異常提示信息的消息參數(shù) publicvoidaddException(CommonExceptionex)CommonException支持嵌套異常,可向CommonException對象中加入另一個CommonException對象,BaseAction支持對嵌套異常的處理公共開發(fā)框架的使用-異常處理setMessageKey(St21

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論