`
desert3
  • 浏览: 2159628 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

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>
分享到:
评论

相关推荐

    Struts2 Spring3.0 Hibernate3.3 整合全注解配置

    Struts2 Spring3.0 Hibernate3.3 全注解配置,避免了大量业务类在Spring文件的配置,整合了DWR3.0,displayTag 物理分页技术的实现。树形菜单。 另外数据库,在下一个资源;由于20MB的限制。 有问题的话留言。

    Myeclipse8.5下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3

    本文将详细介绍如何在MyEclipse 8.5环境下搭建基于Struts2.1、Spring3.0以及Hibernate3.3的SSH框架,并通过图解的方式引导读者完成整个搭建过程。 #### 二、创建 Web 项目 首先,需要在MyEclipse 8.5中创建一个新...

    struts2.0 spring2.0 hibernate3.0整合开发快速入门-3

    ### Struts2.0、Spring2.0与Hibernate3.0整合开发快速入门知识点解析 #### 一、Struts2.0与Hibernate3.0整合基础 **知识点1:Struts2.0简介** - **定义**: Struts2是Apache基金会下的一个开源项目,它是一个基于...

    Struts2 Spring3.0 Hibernate3.3 整合全注解配置用的数据库

    Struts2、Spring3.0和Hibernate3.3是Java Web开发中三个非常重要的框架,它们的整合可以构建出高效、灵活的企业级应用。这里我们主要讨论如何通过全注解配置来实现这三大框架的集成,并关注它们在数据库操作中的应用...

    struts2 spring3.0 hibernate3.3

    Struts2、Spring3.0和Hibernate3.3是Java Web开发中著名的三大框架,它们协同工作,构建出高效、可维护的企业级应用程序。SSH框架的整合,为开发者提供了模型-视图-控制器(MVC)架构的支持,依赖注入(DI)与面向切...

    spring3.0+struts2+mybatis3.0整合

    在Spring 3.0+Struts 2的整合中,Struts 2主要负责接收HTTP请求,调用业务逻辑,然后返回视图。 **MyBatis 3.0** 是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者Java注解中,简化了JDBC操作。...

    struts2.3+hibernate3.3+spring3.0整合jar

    这个"struts2.3+hibernate3.3+spring3.0整合jar"的压缩包文件提供了这三大框架的集成解决方案,便于开发者快速搭建项目环境。 Struts2是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点,并引入了更多...

    struts2.1 spring3.0 hibernate3.5 jar包集合

    Struts2、Spring3.0和Hibernate3.5是Java Web开发中三个非常重要的框架,它们各自负责不同的职责,组合起来可以构建出高效、松耦合的Web应用程序。以下是对这三个框架及其集成使用的详细说明: **Struts2** 是一个...

    spring3.0整合mybatis3.0、struts2

    本项目“spring3.0整合mybatis3.0、struts2”正是这样的一个尝试,旨在利用这三个主流的Java技术栈来搭建一个强大的后端架构。接下来,我们将详细探讨这三个框架各自的功能、整合的意义以及如何进行整合。 **Spring...

    struts2+hibernate3.3+spring3.0整合实例

    Struts2、Hibernate3.3和Spring3.0是Java Web开发中著名的三大框架,它们分别负责MVC模式中的Action层、持久化层和依赖注入与业务逻辑管理。本实例将详细阐述如何将这三个框架整合在一起,实现一个完整的CRUD(创建...

    Struts 1.2+Hibernate3.3+Spring3.0整合详细步骤+源码

    文档"Struts 2.1+Hibernate3.3+Spring3.0整合详细步骤.doc"可能包含了上述步骤的详细过程,帮助读者理解如何将Struts 2.1(注意标题是1.2,但文档可能是2.1版本的误写)与Hibernate 3.3和Spring 3.0进行整合。...

    struts 2.1spring3.0hibernate 3.2 做的网上书店

    Struts 2.1、Spring 3.0 和 Hibernate 3.2 是经典的Java Web开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成。这个"网上书店"项目是基于这三个框架构建的一个完整的Web应用程序,它展示了如何将这些技术...

    搭建Struts2.1+Spring3.0+Hibernate3.3框架

    搭建Struts2.1+Spring3.0+Hibernate3.3框架是开发Java Web应用程序时常见的一种技术组合,也被称为SSH框架。这三个框架分别负责不同的职责:Struts2处理前端控制器,Spring提供依赖注入和事务管理,Hibernate则作为...

    Struts2.1、Spring3.0、Hibernate3.3框架整合

    Struts2.1、Spring3.0、Hibernate3.3框架整合 Struts2.1、Spring3.0、Hibernate3.3框架整合 Struts2.1、Spring3.0、Hibernate3.3框架整合

    Struts1.2+Spring 3.0 案例,java代码

    Struts1.2和Spring 3.0是两个在Java Web开发中广泛使用的框架,它们分别专注于MVC...同时,案例中的Java代码提供了实践应用这些理论知识的实例,对于深入理解和掌握Struts1.2+Spring 3.0的整合开发具有很高的价值。

    最新struts2.2_hibernate3.6_spring3.0整合

    这个压缩包文件中的"Struts2.2_Hibernate3.6_Spring3.0"很可能包含了示例代码、配置文件以及详细的整合教程,对于初学者和进阶开发者来说都是极好的参考资料。通过学习和实践,你可以掌握现代Java Web开发的关键技术...

    Struts2.1.8+Hibernate3.3+Spring3.0环境搭建

    Struts2.1.8+Hibernate3.3+Spring3.0是经典的Java Web开发框架组合,也被称为SSH(Struts2、Spring、Hibernate)。这个环境的搭建涉及到多个步骤,涵盖了MVC(Model-View-Controller)框架、持久化框架和依赖注入...

    Struts2+Spring3.0+MyBatis3.0

    "Struts2+Spring3.0+MyBatis3.0平台搭建"涉及的是如何将这三个框架整合在一起,创建一个完整的Web应用程序。这通常包括以下步骤: 1. 配置Struts2:设置struts.xml,定义Action、结果类型和全局配置。 2. 集成...

    spring3.0+hibernate3.3+struts2整合jar包

    这个"spring3.0+hibernate3.3+struts2整合jar包"正是为了帮助开发者快速搭建基于SSH的开发环境而提供的集成包。 **Spring框架3.0** Spring是IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...

Global site tag (gtag.js) - Google Analytics