Struts2 Spring3.0整合

web.xml

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/applicationContext-resources.xml
classpath:/applicationContext-dao.xml
classpath:/applicationContext-service.xml
classpath*:/applicationContext.xml
/WEB-INF/applicationContext*.xml
</param-value>
</context-param>

<filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.desert.appfuse.webapp.action</param-value>
</init-param>
</filter>
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.desert.appfuse.webapp.action</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>


applicationContext-struts.xml

向容器注册使用的拦截器和action
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
default-lazy-init="true">

<bean id="adminInterceptor" class="com.desert.appfuse.webapp.interceptor.UserRoleAuthorizationInterceptor">
<property name="authorizedRoles" value="ROLE_ADMIN"/>
</bean>

<bean id="signupAction" class="com.desert.appfuse.webapp.action.SignupAction" scope="prototype">
<property name="userManager" ref="userManager"/>
<property name="roleManager" ref="roleManager"/>
<property name="mailEngine" ref="mailEngine"/>
<property name="mailMessage" ref="mailMessage"/>
<property name="templateName" value="accountCreated.vm"/>
</bean>
</beans>


applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
default-lazy-init="true">

<!-- Activates scanning of @Autowired -->
<context:annotation-config/>

<!-- Activates scanning of @Repository and @Service -->
<context:component-scan base-package="com.desert.appfuse"/>

<!-- Add new DAOs here -->

<!-- Add new Managers here -->
</beans>


struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<!-- Constants -->
<constant name="struts.devMode" value="false"/>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<constant name="struts.action.extension" value="html"/>
<constant name="struts.objectFactory" value="spring"/>
<constant name="struts.custom.i18n.resources" value="ApplicationResources,errors"/>
<constant name="struts.multipart.maxSize" value="2097152"/>
<constant name="struts.ui.theme" value="css_xhtml"/>
<constant name="struts.codebehind.pathPrefix" value="/WEB-INF/pages/"/>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<constant name="struts.convention.action.disableScanning" value="true"/>

<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<interceptors>
<!-- Interceptor to handle allowing only admins to certain actions -->
<interceptor name="adminOnly" class="adminInterceptor"/>
<!-- Copied from struts-default.xml and changed validation exclude methods -->
<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="profiling"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">cancel,execute,delete,edit,list</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
<interceptor-stack name="adminCheck">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="adminOnly"/>
</interceptor-stack>
</interceptors>

<global-results>
<result name="mainMenu" type="redirectAction">mainMenu</result>
<result name="dataAccessFailure">/WEB-INF/pages/dataAccessFailure.jsp</result>
</global-results>

<global-exception-mappings>
<exception-mapping exception="org.springframework.dao.DataAccessException" result="dataAccessFailure"/>
</global-exception-mappings>

<action name="mainMenu">
<result name="success">/WEB-INF/pages/mainMenu.jsp</result>
</action>

<action name="signup" class="signupAction">
<result name="cancel" type="redirect">/</result>
<result name="input">/WEB-INF/pages/signup.jsp</result>
<result name="success" type="chain">saveSignup</result>
</action>

<action name="saveSignup" class="signupAction" method="save">
<result name="input">/WEB-INF/pages/signup.jsp</result>
<result name="success" type="redirectAction">/mainMenu</result>
</action>

<action name="editUser" class="userAction" method="edit">
<interceptor-ref name="adminCheck"/>
<result name="success">/WEB-INF/pages/userForm.jsp</result>
<result name="input">/WEB-INF/pages/admin/userList.jsp</result>
</action>

<action name="editProfile" class="userAction" method="edit">
<result name="success">/WEB-INF/pages/userForm.jsp</result>
<result name="error">/WEB-INF/pages/mainMenu.jsp</result>
</action>

<action name="saveUser" class="userAction" method="save">
<result name="cancel" type="redirectAction">admin/users</result>
<result name="input">/WEB-INF/pages/userForm.jsp</result>
<result name="success" type="redirectAction">admin/users</result>
</action>

<action name="uploadFile" class="com.desert.appfuse.webapp.action.FileUploadAction">
<interceptor-ref name="fileUploadStack"/>
<result name="input">/WEB-INF/pages/uploadForm.jsp</result>
<result name="success">/WEB-INF/pages/uploadDisplay.jsp</result>
<result name="cancel" type="redirectAction">mainMenu</result>
</action>

<action name="passwordHint" class="passwordHintAction">
<result name="input">/</result>
<result name="success">/</result>
</action>

<!-- Add additional actions here -->
</package>

<!-- Actions in this package will be prefixed with /admin/ -->
<package name="admin" extends="default" namespace="/admin">
<action name="activeUsers" class="com.opensymphony.xwork2.ActionSupport">
<result name="success">/WEB-INF/pages/admin/activeUsers.jsp</result>
</action>

<action name="reload" class="com.desert.appfuse.webapp.action.ReloadAction">
<interceptor-ref name="adminCheck"/>
<!-- this should never be used, it's here to prevent warnings -->
<result name="success">/WEB-INF/pages/mainMenu.jsp</result>
</action>

<action name="users" class="userAction" method="list">
<interceptor-ref name="adminCheck"/>
<result name="success">/WEB-INF/pages/admin/userList.jsp</result>
</action>
</package>
</struts>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值