配置struts2.0.6+spring2.0.3+hibernane3
来源:互联网 发布:物品 位置 软件 编辑:程序博客网 时间:2024/05/21 04:21
一、struts2。
跟webwork配置基本一致,主要是struts2.properties和struts.xml 2个配置文件,我的struts2.properties如下配置:
struts2.properties
struts.tag.altSyntax = true
struts.devMode = true
### These can be used to set the default HTTP and HTTPS ports
struts.url.http.port = 80
#webwork.url.https.port = 443
### This can be used to set 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转为spring的bean,struts.xml可以直接配置我们的action路径,在action中我们只需要设置某个service文件的set方法即可调用事务管理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>
<include file="struts-default.xml" />
<package name="default" extends="struts-default">
<default-interceptor-ref name="completeStack" />
<global-results>
<result name="login" type="redirect">login!default.actionresult>
<result name="unauthorized">unauthorized.jspresult>
</global-results>
<action name="login" class="com.baseframe.action.LoginAction">
<result name="input">login.jspresult>
<result name="success">main.jspresult>
<result name="error">login.jspresult>
</action>
<action name="logout" class="com.baseframe.action.LogoutAction">
<result name="success">login.jspresult>
</action>
</package>
</struts>
二、spring2。
添加dist下的3个spring包,因为不知道哪些包是必须的,把lib里的包都加了,去除jakarta-commons/commons-attributes-compiler.jar、j2ee/servlet-api.jar、j2ee/jsp-api.jar,然后建立配置文件,我分了三个文件:
主配置文件
<!--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" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
...
</bean>
<bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
...
</bean>
<bean id="sessionFactory" class="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.xml</value>
<!-- </span> </li> <li class=""><span><span class="comments"> 此处增加hbm </span> </span></li> <li class="alt"><span><span class="comments"> -->
</list>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.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 class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>*Service</value>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<!-- </span> </li> <li class="alt"><span><span class="comments"> 此处增加新的Interceptor </span> </span></li> <li class=""><span><span class="comments"> -->
</list>
</property>
</bean>
<bean class="org.springframework.transaction.interceptor.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" class="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" class="com.baseframe.service.impl.UserServiceImpl"/>
</beans>
三、web.xml
有一点很重要,struts的filter需要放在最底,不然action接收的中文可能会乱码,不知道是不是这个原因,反正配置了就没有乱码了:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
extremetable的filter
</filter>
<filter-mapping>
extremetable的filter mapping
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
评论 :
这样搭配似乎美中不足。既然你选择了SPRING作为IOC容器,那么你的ACTION也应该被SPRING的IOC管理
更正
WEB.XML添加 代码
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener> <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
Spring配置文件添加
代码
- <bean id="LoginAction" class="com.baseframe.action.LoginAction"/>
- <bean id="LogoutAction" class="com.baseframe.action.LogoutAction"/>
最后struts.xml配置文件改下
代码
- <action name="login" class="LoginAction">
- <result name="input">login.jspresult>
- <result name="success">main.jspresult>
- <result name="error">login.jspresult>
- action>
- <action name="logout" class="LogoutAction">
- <result name="success">login.jspresult>
- action>
这样容器管理就交给SPRING好了。
- 配置struts2.0.6+spring2.0.3+hibernane3
- struts2+spring2+hiberante3.2 配置 ,struts2+spring2+JPA+AJAX 配置
- Spring2 + Struts2 基本配置总结
- struts2+spring2+ibatis+dwr配置
- spring2结合struts2的配置
- Struts2+Spring2+Hibernate3.2配置参考2
- struts2和spring2的集成配置
- Struts2.1.6+Spring2.5 的最小配置
- Spring2.5+Hibernate3.2+Struts2.0配置
- spring2.5+struts2.1.8+hibernate3整合配置
- struts2+hibernate3+spring2.5整合配置
- struts2,hibernate3,spring2.5整合配置
- eclipse配置Struts2、Hibernate3、Spring2.5范例
- struts2+hibernate3.2+spring2.0配置+入门实例
- Spring2.5+Hibernate3.2+Struts2.0+jotm2.0集成配置
- struts2+hibernate+spring2.5用properties集成整合配置方法
- hibernate3.x,spring2.5x,struts2.0部分配置
- struts2和spring2的集成配置(zt)
- unix 与c++学习资源
- 理解HTTP消息头 3
- 怎么样吧DDB转换成DIB并保存?
- What is a First Chance Exception
- 理解HTTP消息头 2
- 配置struts2.0.6+spring2.0.3+hibernane3
- TCP/IP网络编程之四书五经
- 理解HTTP消息头 1
- 想了好久,准备在CSDN上些日志。
- 项目管理之需求管理
- 小算法:约瑟夫环的Java实现
- Oracle数据库oci连接方式
- CString 与 char 与 BYTE 之间的转换
- 你的信用卡最低还款额是多少?