`
猪↘專屬|华
  • 浏览: 164051 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2与spring结合

阅读更多

以前都是用的struts1与spring结合,才学struts2不久,做了一个spring与struts2整合的小例子。

下面是我做的过程:

首现,搭建好struts2与spring的环境,我用的是eclipse,不是myEclipse可以直接导入包,所以还得自己手动的导包。

要实现的东西很简单,读出一个SET集合中的内容。

因为spring是面向接口的编程,所以,我们先来写一个接口:

package springIoc;

import java.util.Set;

public interface ChatService {
 public Set<String> getUserNames();//
}

 

然后是接口的实现类:

package springIoc;

import java.util.HashSet;
import java.util.Set;

public class ChatServiceImpl implements ChatService{

 public Set<String> getUserNames() {
  Set<String> users = new HashSet<String>();
  users.add("zhuxiange");
  users.add("lilihua");
  users.add("lilihuaMyLove");
  return users;
 }

}

 

最后是action:

package springIoc;

import java.util.Set;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class ChatAction extends ActionSupport{
 private Set<String> userNames;
 private ChatService chatService;//依赖注入service

 public Set<String> getUserNames() {
  return userNames;
 }
 public void setChatService(ChatService chatService) {
  this.chatService = chatService;
 }
 public String execute(){
  userNames = chatService.getUserNames();
  return SUCCESS;
 }
}

配置文件:

从web开始:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
   <display-name > Struts 2 IoC Demo </display-name >
 <!-- Spring配置文件的存放位置 -->
  <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
  /WEB-INF/applicationContext.xml
   </param-value>
  </context-param>

 

 

 

    <filter >
        <filter-name > struts-cleanup </filter-name >
        <filter-class >
            org.apache.struts2.dispatcher.ActionContextCleanUp
        </filter-class>
    </filter >

    <filter >
        <filter-name > struts2 </filter-name >
        <filter-class >
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter >

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

    <filter-mapping >
        <filter-name> struts2 </filter-name >
        <url-pattern> *.action </url-pattern >
    </filter-mapping>
<!-- 配置spring的监听器 -->
    <listener >
        <listener-class >
            org.springframework.web.context.ContextLoaderListener
        </listener-class >
    </listener >


  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

struts.xml

<!DOCTYPE struts PUBLIC
        "-//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 ="springIoc" extends ="struts-default">
        <action name="Chat" class="chatAction">//尤其注意这里,这里不再是struts2的类名,而是spring中的bean 的ID. 
            <result> /UserList.jsp </result >
        </action>
    </package> 

 

applicationContext.xml(看web.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"
    xsi:schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 
 <bean id="chatService" class="springIoc.ChatServiceImpl"/>
 <bean id="chatAction" class="springIoc.ChatAction" scope ="prototype">
  <property name="chatService">
    <ref local ="chatService"/>
  </property>
 </bean>
</beans>


</struts>

 

 

页面:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix ="s" uri="/struts-tags" %>
<html >
<head >
    <title> User List </title >
</head >
<body>
    <h2> User List </h2 >
    <ol>
    <s:iterator value ="userNames" >
        <li><s:property /></li >
    </s:iterator >
    </ol >
</body>
</html>

 

 

最后的结果为:

User List

  1. zhuxiange
  2. lilihuaMyLove
  3. lilihua

 

0
1
分享到:
评论

相关推荐

    Struts2+spring注解配置

    将 Struts2 与 Spring 结合,通常会使用 Spring MVC 框架,通过 `@Controller` 注解标记 Action 类,并利用 Spring 自动装配功能来管理依赖。Spring MVC 还提供了其他注解,如 `@RequestMapping`, `@GetMapping`, `@...

    struts2-spring-plus

    当Struts2与Spring结合时,Spring可以作为依赖注入容器,为Struts2的Action提供依赖。Struts2-Spring插件能够自动扫描并加载Spring配置文件中的Bean,使得Action实例可以在不直接new的情况下被创建和管理。这样,...

    struts2 整合spring 必备包 s2sh

    3. **整合目的**:将 Struts2 与 Spring 结合,主要是利用 Spring 的 DI 和 AOP 能力,增强 Struts2 控制器的灵活性和可测试性,同时简化业务逻辑的管理。 4. **配置整合**: - **web.xml**:在 `web.xml` 文件中...

    struts2-spring-plugin-2.2.1.jar

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

    struts2和spring结合插件原理

    struts2-spring-plugin.jar :struts,spring插件。有了这个插件,spring容器才能在全应用中适用。 在我们集成struts2+spring+hibernate,也就是所谓的S2SH,不可避免的要引入struts2-spring-plugin.jar插件。 本文...

    struts2-spring-plugin-2.2.1.1.jar

    Struts2 与Spring 结合,使用Spring 来管理Action 实例

    struts2+spring+mybatis+easyui的实现

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

    Struts2_spring必要jar包

    当Struts2与Spring结合时,主要的集成点包括: 1. **Action类的管理**:Spring管理Struts2的Action实例,通过依赖注入提供业务服务。 2. **Action的Spring注解**:使用`@Autowired`和`@Qualifier`注解来注入依赖。 ...

    struts2.1.8+spring2.5.6

    将Struts2与Spring结合使用,可以实现更高效的企业级应用开发。Spring可以作为Struts2的Action实现,通过ActionSupport类,我们可以方便地利用Spring的依赖注入特性。此外,Struts2的Interceptor可以与Spring的AOP...

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

    对于Struts2和Spring的配置,我们需要在`struts.xml`和`spring-context.xml`文件中进行相应的设置,例如定义Action类、配置Spring Bean以及指定Struts2与Spring的整合方式。同时,确保web.xml文件中配置了...

    struts2+spring练习

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

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

    当与Struts2和Spring结合时,可以构建出高度可维护、可扩展的企业级应用。 ### 环境配置示例 在给定的部分内容中,提到了一系列的环境变量设置,这通常是Java开发环境中常见的路径配置,包括Java JDK的路径、...

    struts2+spring4+hibernate

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

    spring struts2 hibernate dwr

    Struts2与Spring结合,可以实现更灵活的控制流和强大的动作管理。 **Hibernate框架** Hibernate 是一个对象关系映射(ORM)工具,它简化了Java应用与数据库之间的交互。通过Hibernate,开发者可以将Java对象直接...

    spring3、struts2、mybatis结合的一个简单web实现

    Struts2与Spring的整合使得我们可以直接在Spring容器中声明和管理Action,实现请求的转发和结果的渲染。 接着,MyBatis是数据库操作的利器,它允许开发者直接编写SQL语句,将SQL与Java代码紧密结合,避免了...

    struts2+spring实例程序

    当我们把Struts2和Spring结合起来使用时,可以创建出高效且可维护的企业级应用。通常,Struts2负责前端请求的处理,Spring则负责业务逻辑的管理和服务的提供。Spring可以通过其IoC容器初始化Struts2的Action类,并...

    struts2+spring+Ibatis框架包

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

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    Struts2+Spring3+MyBatis结合项目

    这个“Struts2+Spring3+MyBatis结合项目”是一个实战示例,旨在帮助开发者深入理解和实践这三大框架的集成与应用。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Web应用框架。它主要负责...

    struts2整合spring实现拦截器

    在本文中,我们将深入探讨如何实现Struts2与Spring的集成,以及利用拦截器来增强应用的功能。 首先,Struts2 是一个基于MVC设计模式的开源Web框架,它提供了强大的控制器层,使得开发者可以更方便地处理HTTP请求和...

Global site tag (gtag.js) - Google Analytics