`

struts2与spring2集成

阅读更多

在Eclipse下建立一个Dynamic Web Application。

从struts2.0.6的lib目录中复制下面的库文件到WEB-INF/lib目录下:
commons-logging-1.1.jar
freemarker-2.3.8.jar
ognl-2.6.9.jar
struts-api-2.0.6.jar
struts-core-2.0.6.jar
struts-spring-plugin-2.0.6.jar
xwork-2.0.0.jar

从spring中lib目录中复制下面的库文件到WEB-INF/lib目录下:
spring.jar

修改web.xml,增加一个struts的分派器filter,映射所有的url-pattern,再增加一个spring的ContextLoaderListener监听器。修改后的内容如下:
<!--l version="1.0" encoding="UTF-8-->

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app id="WebApp_ID" version="2.4"  
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  6.     <display-name>struts2tutorial</display-name>  
  7.        
  8.     <filter>  
  9.         <filter-name>struts2</filter-name>  
  10.         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  11.     </filter>  
  12.        
  13.     <filter-mapping>  
  14.         <filter-name>struts2</filter-name>  
  15.         <url-pattern>*.action</url-pattern>  
  16.     </filter-mapping>  
  17.        
  18.     <welcome-file-list>  
  19.         <welcome-file>index.jsp</welcome-file>  
  20.     </welcome-file-list>  
  21.        
  22.     <listener>  
  23.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  24.     </listener>  
  25.        
  26. </web-app>  


写一个简单的Action,HelloWorld:
java 代码
  1. package tutorial;   
  2. import com.opensymphony.xwork2.ActionSupport;   
  3. public class HelloWorld extends ActionSupport {   
  4.   
  5.     public static final String MESSAGE = "Struts is up and running ...";   
  6.   
  7.     public String execute() throws Exception {   
  8.         setMessage(MESSAGE);   
  9.         return SUCCESS;   
  10.     }   
  11.   
  12.     private String message;   
  13.   
  14.     public void setMessage(String message){   
  15.         this.message = message;   
  16.     }   
  17.   
  18.     public String getMessage() {   
  19.         return message;   
  20.     }   
  21. }  


在源文件路径下(项目的src目录)增加struts.xml配置action。这个文件是集成spring的关键所在,这里面描述有如何将spring2集成到struts2的相关信息:
<!--CTYPE struts PUBLIC<br-->
xml 代码
  1. <!DOCTYPE struts PUBLIC   
  2.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  3.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  4. <struts>
  5.     <!-- 下面这句表明对象是由spring负责产生的.加上这句后,struts会产生让spring负责</span></li> <li class=""><span class="tag">         产生bean,如果spring不能产生bean,则由struts自己产生.也可以在struts.properties</span></li> <li class=""><span class="tag">         文件内定义这个属性.-->
  6.     <constant name="objectFactory" &#118alue="spring"></constant>  
  7.     <package name="struts2tutoial" extends="struts-default" namespace="/">  
  8.         <!-- 注意,现在action的class属性不再是类的名字了,而是在spring中的bean的id</span></li> <li class="alt"><span>             详细信息请看下面的spring的bean配置文件applicationContext.xml -->
  9.         <action name="HelloWorld" class="helloWorld">  
  10.             <result>/helloWorld.jsp</result>  
  11.         </action>  
  12.         <!-- Add your actions here -->  
  13.     </package>  
  14. </struts>  


在WEB-INF/目录下增加spring的bean配置文件applicationContext.xml:
<!--l version="1.0" encoding="UTF-8-->
xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
  3. <beans>  
  4.   
  5.     <bean id="helloWorld" class="tutorial.HelloWorld"></bean>  
  6.   
  7. </beans>  

配置很简单,只有一个bean。

最后,在WebContent目录下增加helloWorld.jsp:
<!--taglib prefix="s" uri="/struts-tags"-->
xml 代码
  1. <%@ taglib prefix="s" uri="/struts-tags" %>  
  2.   
  3. <html>  
  4.     <head>  
  5.         <title>Hello World!</title>  
  6.     </head>  
  7.     <body>  
  8.         <h2><s:property &#118alue="message" /></h2>  
  9.     </body>  
  10. </html>  
分享到:
评论

相关推荐

    struts2与spring2的整合

    4. **Spring插件**:在Struts2中使用Spring插件(struts2-spring-plugin),这个插件能够帮助Struts2与Spring进行交互,自动将Action类实例化并注入依赖。 5. **Action类**:Action类需要实现Spring的`org.spring...

    Struts2与Spring2框架整合实例

    6. **测试**:标签"testsh firstss"可能暗示这是一个测试项目,因此在整合完成后,我们需要编写单元测试和集成测试,确保Struts2与Spring2之间的交互正确无误。 7. **SSTest**:这个文件可能是项目的主要测试类或...

    struts2-spring-plugin-2.3.4.jar

    Struts2-Spring-Plugin-2.3.4.jar 是一个专门为 Struts 2 框架和 Spring 框架整合而设计的插件,主要用于处理 Struts 2 和 Spring 之间的集成问题。在Java Web开发中,这两个框架经常一起使用,Spring 提供了依赖...

    struts2入门教程及struts2集成spring

    在Java Web开发中,将Struts2与Spring进行集成,可以充分利用两者的优势,实现更好的业务逻辑管理和控制流分离。集成过程主要包括以下几个步骤: 1. **引入依赖**:首先,在项目中添加Struts2和Spring的相关库,...

    struts2-spring-plugin-2.2.1.jar

    **Struts2与Spring的集成** 在没有Struts2-Spring-Plugin的情况下,要在Struts2应用中使用Spring,需要手动配置Action类与Spring Bean之间的关联。而有了这个插件,配置过程变得更加简单。以下是Struts2-Spring-...

    搭建SSH框架需要引入的Struts2包(log4j,spring-web,struts2-spring-plugin)

    `struts2-spring-plugin-2.5.16.jar`是Struts2与Spring集成的插件,它使得Struts2可以利用Spring的依赖注入(DI)和面向切面编程(AOP)能力。通过这个插件,我们可以将Action类的实例化和管理交给Spring容器,从而...

    struts2+spring+mybatis+easyui的实现

    同时,Spring与Struts2可以通过Spring-Struts2插件无缝集成,使得Action可以直接由Spring管理,增强了系统的可测试性。 **MyBatis** 是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了更灵活的SQL操作...

    struts2.2.3集成spring时需要添加的jar包

    struts2.2.3集成spring时需要添加的jar包,struts2-spring-plugin-2.2.3.jar

    Struts2+Spring框架集成实例

    3. **Struts2与Spring集成**:将Struts2和Spring整合可以实现更高效的控制流管理和业务逻辑处理。通常,我们会在Spring中定义Bean,然后在Struts2的Action类中通过@Autowired注解注入这些Bean,从而实现业务逻辑的...

    struts2+spring+mybatis框架

    在Struts2+Spring+MyBatis的架构中,MyBatis负责与数据库交互,通过XML或注解方式配置SQL语句,使得数据库操作更加灵活且易于维护。 **整合过程** 1. **配置Spring**:创建Spring配置文件,定义Bean,包括Action、...

    struts2+spring练习

    4. **Struts2与Spring集成**:为了结合这两个框架的优点,我们需要配置Struts2的Spring插件。这将使Struts2能够从Spring容器中获取Action实例,实现Action的依赖注入。配置通常包括修改`struts.xml`中的`&lt;package&gt;`...

    struts2+spring4+hibernate

    同时,Spring4的Spring MVC模块可以与Struts2结合使用,提供另一种MVC实现方式,以应对更复杂的应用场景。 Hibernate则是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。在电子商务系统...

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2

    struts2+spring+springstruts2+spring+springstruts2+spring+spring

    将Spring与Struts2集成,可以利用Spring的强大功能来增强Struts2的能力。通常,Spring被用作业务逻辑层和服务层的依赖注入容器,而Struts2则负责处理Web层的请求和响应。这种集成的好处包括: - **依赖注入**:使用...

    struts2 spring hibernate集成

    **Struts2与Spring的集成** 主要是通过Spring插件实现,这使得Action类可以作为Spring的bean管理,实现依赖注入。这样,Action类可以直接注入服务层(Service)和DAO(数据访问对象)层的bean,简化了代码结构,增强...

    Struts2+Spring演示实例源代码

    3. **Struts2与Spring的整合**: - **Spring插件**:Struts2提供了一个Spring插件,使得Spring管理的Bean可以直接作为Struts2的Action。 - **Action配置**:在struts.xml中声明Spring管理的Action,不再需要在...

    struts2和spring和Hibernate整合的jar包

    5. **整合Struts2与Spring**:使用Spring-Struts2的插件,比如struts2-spring-plugin-*.jar,这样Action可以被Spring管理,实现依赖注入。在struts.xml中,通过`&lt;spring:bean&gt;`标签声明Action。 6. **处理冲突**:...

    SSH\\others\\struts2-spring-plugin-2.2.1.jar

    在给定的压缩包文件中,我们关注的是"struts2-spring-plugin-2.2.1.jar",这是一个插件,它将Struts2框架与Spring框架集成。 Struts2 Spring Plugin是Struts2框架的一个重要组成部分,它的主要作用是允许开发者在...

    struts2+spring+hibernate 整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...

    struts2+spring+Ibatis框架包

    Spring还提供了对事务管理、数据访问、Web应用的支持,以及与许多其他框架的集成,如Struts2。在SSi框架中,Spring通常用于管理Bean的生命周期,提供事务控制,以及整合其他框架,如iBatis。 iBatis是一个持久层...

Global site tag (gtag.js) - Google Analytics