专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » spring2struts2:配置struts2 spring2 hibernane3备忘录 »正文

spring2struts2:配置struts2 spring2 hibernane3备忘录

来源: 发布时间:星期四, 2009年1月15日 浏览:41次 评论:0
  花了2个小时终于配置好struts2.0.6+spring2.0.3+hibernane3为自己庆祝分享下经验

  、配置Struts2

  跟webwork配置基本主要是struts2.properties和struts.xml 2个配置文件struts2.properties如下配置:

  struts2.properties

struts.tag.altSyntax = true 
struts.devMode = true 
### These can be used to the default HTTP and HTTPS ports  
struts.url.http.port = 80 
#webwork.url.https.port = 443 
### This can be used to your locale and encoding scheme  
struts.custom.i18n.resources=ApplicationResources 
struts.locale=zh_CN 
struts.i18n.encoding=utf-8  
# uses javax.servlet.context.tempdir by default  
struts.multipart.parser=com.opensymphony.webwork.dispatcher.multipart.PellMultiPartRequest  
#struts.multipart.saveDir=tmp 
struts.multipart.saveDir=/tmp  
struts.multipart.maxSize=512000000 
struts.configuration.xml.reload=true 
struts.objectFactory = spring 


  struts.xml 就是配置action了,由于设定了struts.objectFactory = spring因此struts2会自动将action转为springbeanstruts.xml可以直接配置我们action路径在action中我们只需要设置某个service文件思路方法即可事务管理bean

  struts.xml

<!--sp-->xml version="1.0" encoding="UTF-8" ?>
<!--CTYPE struts PUBLIC  </sp-->
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
< file="struts-default.xml" />
<package name="default" extends="struts-default">
<default-erceptor-ref name="completeStack" />
<global-results>
<result name="login" type="redirect">login!default.actionresult>
<result name="unauthorized">unauthorized.jspresult>
global-results>
<action name="login" ="com.baseframe.action.LoginAction">
<result name="input">login.jspresult>
<result name="success">.jspresult>
<result name="error">login.jspresult>
action>
<action name="logout" ="com.baseframe.action.LogoutAction">
<result name="success">login.jspresult>
action>
package>
struts> 


   2、配置Spring2

  添加dist下3个spring包不知道哪些包是必须把lib里包都加了去除jakarta-commons/commons-attributes-compiler.jar、j2ee/servlet-api.jar、j2ee/jsp-api.jar然后建立配置文件我分了 3个文件:

  主配置文件

<!--sp-->xml version="1.0" encoding="UTF-8"?>
<!--CTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  </sp-->
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" ="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
...
bean>
<bean id="hibernateProperties" ="org.springframework.beans.factory.config.PropertiesFactoryBean">
...
bean>
<bean id="sessionFactory" ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<ref bean="hibernateProperties"/>
property>
<property name="mappingResources">
<list>
<value>com/baseframe/model/AppUser.hbm.xmlvalue>
<!--  </span> </li> <li =""><span><span ="comments">                此处增加hbm  </span> </span></li> <li ="alt"><span><span ="comments">            -->
list>
property>
bean>
<bean id="transactionManager" ="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
bean>
<bean id="transactionInterceptor" ="org.springframework.transaction.erceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIREDprop>
<prop key="amount*">PROPAGATION_REQUIRED,readOnlyprop>
<prop key="find*">PROPAGATION_REQUIRED,readOnlyprop>
props>
property>
bean>
<bean ="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>*Servicevalue>
property>
<property name="erceptorNames">
<list>
<value>transactionInterceptorvalue>
<!--  </span> </li> <li ="alt"><span><span ="comments">                此处增加新Interceptor  </span> </span></li> <li =""><span><span ="comments">            -->
list>
property>
bean>
<bean ="org.springframework.transaction.erceptor.TransactionAttributeSourceAdvisor">
<property name="transactionInterceptor" ref="transactionInterceptor"/>
bean>
beans> 
dao配置文件

<!--sp-->xml version="1.0" encoding="UTF-8"?>
<!--CTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  </sp-->
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="userDao" ="com.baseframe.dao.impl.UserDaoImpl"/>
beans> 
service/manager配置 

<!--sp-->xml version="1.0" encoding="UTF-8"?>
<!--CTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  </sp-->
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="userService" ="com.baseframe.service.impl.UserServiceImpl"/>
beans>


  有点很重要strutsfilter需要放在最底不然action接收中文可能会乱码不知道是不是这个原因反正配置了就没有乱码了,加上org.springframework.orm.hibernate3.support.OpenSessionInViewFilter就不用考虑hibernatelazy问题了:

filter>
<filter-name>encodingFilterfilter-name>
<filter->org.springframework.web.filter.CharacterEncodingFilterfilter->
<init-param>
<param-name>encodingparam-name>
<param-value>UTF-8param-value>
init-param>
filter>
<filter-mapping>
<filter-name>encodingFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
hibernateFilter
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
hibernateFilter
/*
<filter>
extremetablefilter
filter>
<filter-mapping>
extremetablefilter mapping
filter-mapping>
<filter>
<filter-name>struts2filter-name>
<filter->org.apache.struts2.dispatcher.FilterDispatcherfilter->
filter>
<filter-mapping>
<filter-name>struts2filter-name>
<url-pattern>/*url-pattern>
filter-mapping> 


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: