`
whp0731
  • 浏览: 174827 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Sturt2+spring整合

阅读更多

一、相应的spring的jar
Struts2-spring-plugin.jar
spring.jar

1、了解Struts2-spring-plugin.jar包中的struts-plugin.xml配置文件

<struts>
    <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
    
    <!--  Make the Spring object factory the automatic default -->
    <constant name="struts.objectFactory" value="spring" />

    <package name="spring-default">
        <interceptors>
            <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
            <interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
        </interceptors>
    </package>    
</struts>

 

2、按如下步骤
1)将Struts2-spring-plugin.jar拷贝到lib下
2)增加配置文件applicationContex.xml(可以如下获得:利用myeclipse自动增加的功能-->在工程上点击右键选择“Add Spring Capabilities”,然后选择spring2.0选择spring2.0 core Libraries,选择 Copy check Library contents to project folder)

 

3、官方参考资料
http://struts.apache.org/2.1.6/index.html页面上的plugin图标
进入到http://cwiki.apache.org/S2PLUGINS/spring-plugin.html

http://struts.apache.org/2.x/docs/spring-plugin.html

 

二、示例
1、建立业务逻辑包service和包serviceImp
他们分别内涵LoginService和LoginServiceImp

package com.test.service;
public interface LoginService
{
 public boolean isLogin(String username, String password);
}



package com.test.service.impl;
import com.test.service.LoginService;
public class LoginServiceImpl implements LoginService
{
 public boolean isLogin(String username, String password)
 {
  if ("hello".equals(username) && "world".equals(password))
  {
   return true;
  }

  return false;
 }

}

 

2、LoginAction.java
(该类加入了LoginService接口,通过spring来注入该服务,)

import com.opensymphony.xwork2.ActionSupport;
import com.test.service.LoginService;
public class LoginAction extends ActionSupport
{
 private String username;
 private String password;

 private LoginService loginService;

 public String getUsername()
 {
  return username;
 }

 public void setUsername(String username)
 {
  this.username = username;
 }

 public String getPassword()
 {
  return password;
 }

 public void setPassword(String password)
 {
  this.password = password;
 }

 public void setLoginService(LoginService loginService)
 {
  this.loginService = loginService;
 }

 @SuppressWarnings("unchecked")
 public String execute() throws Exception
 {
  if (loginService.isLogin(username, password))
  {
   return SUCCESS;
  }
  else
  {
   return INPUT;
  }
        }
}

 

3、spring配置文件
(下面scope="prototype",表示请求一个实例化一个,非单例的,线程安全的!)

<?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="loginService" class="com.test.service.impl.LoginServiceImpl"></bean>
<bean id="loginAction" class="com.test.action.LoginAction" scope="prototype">
 <property name="loginService">
  <ref local="loginService"/>
 </property>
</bean>
</beans>

 
4、在原来的struts.xml文件修改(此处的class名字"loginAction"需要和上面spring配置中的id的"loginAction"一致)

<action name="login" class="loginAction">
   <result name="success">/result.jsp</result>
   <result name="input">/login2.jsp</result>
</action>

 

5、让spring容器在启动时加载进来
在web.xml可以通过servert或监听器两种方式来加载
现在的servert2.4以后版本一般可以用监听器比较简单:<listener>
在web.xml文件中加入以下内容:

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

 
这样系统就会默认加载web-INF下  的applicationContext.xml文件了
但是如果spring有多个配置文件需要加载
处理方法:增加以下配置

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>多个配置文件名(中间用逗号隔开)</param-value>
</context-param>

 

6、此时可以看到struts2的加载顺序,他会先加载strust-defualt.xml,接着会加载struts-plugin.xml,组后加载struct.xml
后加载的配置信息可以覆盖前面加载的配置信息。

分享到:
评论

相关推荐

    sturt2+spring+jdbctemplate做的简易登录留言板,有用户,部门等管理

    标题 "sturt2+spring+jdbctemplate做的简易登录留言板,有用户,部门等管理" 描述了一款基于Struts2、Spring和JdbcTemplate技术构建的简单应用,它提供了用户管理和留言功能。这个项目可能是一个学习示例或者基础的...

    Sturt2+Hibernate+Spring三大框架整合jar包

    这个“Sturt2+Hibernate+Spring三大框架整合jar包”就是用于支持这三个框架集成开发的一系列库文件集合。 **Struts2框架**: Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,主要负责控制层...

    sturt+spring+hibernate(简单的增删改查系统)

    此系统虽然简单,但涉及的技术全面,struts,spring,hibernate,所有的方面,还具有分布功能!!!!!!!

    sturt2小项目 商品管理系统

    在IT行业中,Spring Boot(通常写作Sturt2)是一个非常流行的Java开发框架,它简化了Spring应用程序的初始设置和配置,使得开发人员可以快速构建健壮的微服务和Web应用。"sturt2小项目 - 商品管理系统"是一个利用...

    spring,sturt2,linux,工作流

    标题中的“spring”、“sturt2”(可能是笔误,应为“struts2”)、“linux”和“工作流”分别代表了四个关键的IT技术领域,它们在实际开发和系统运维中都有着广泛的应用。 1. **Spring框架**:Spring是Java平台上...

    给基于sturt+Hibernate水果管理系统

    2. **Action类**:在Struts框架中,每个Action类对应一个具体的业务操作,接收并处理用户请求。 3. **模型对象**:这些对象代表了水果的数据结构,通常包含一些属性和getter/setter方法,Hibernate通过这些对象与...

    毕业设计-物流管理系统

    毕业设计-物流管理系统,开发工具是MyEclipse+tomcat+Mysql数据库等。语言是JAVA。结合了AJAX、JSTL、等。运用流行的三大开发框架。Sturt +Spring+hibernate等。.

    Sturt2多/单文件上传带进度条

    Struts2是一个流行的Java Web框架,它为开发者提供了构建MVC(模型-视图-控制器)应用程序的强大工具。在Struts2中实现多文件或单文件上传并展示进度条功能,是提高用户体验的一个重要特性。这允许用户在上传大文件...

    采购管理信息系统

    采购管理信息系统,弄了一周的小系统,开发工具是MyEclipse+tomcat+Mysql数据库等。语言是JAVA。结合了AJAX、JSTL、等。运用流行的三大开发框架。Sturt +Spring+hibernate等。

    sturt class

    sturt classsturt classsturt classsturt classsturt class

    jfreechart结合sturt2

    标题:“jfreechart结合struts2”的实践指南 在Java开发中,数据可视化是不可或缺的一部分,而JFreeChart作为一个强大的图表库,能够帮助我们创建各种类型的图表,如柱状图、饼图、线图等。Struts2作为经典的MVC...

    sturt2上传示例,带jar。可运行

    在标题“sturt2上传示例,带jar。可运行”中,我们可以理解这是一个关于Struts2文件上传功能的示例项目,包含了运行所需的JAR库。描述中的“用于帮助刚开始接触struts2上传的朋友”表明这个示例是为初学者设计的,...

    sturts1 spring hibernate开发的详细介绍

    Spring框架与Hibernate的整合可以简化Struts1中的数据访问。Spring提供了声明式事务管理,可以控制Hibernate的事务边界。同时,通过Spring的AOP功能,可以实现事务、安全等关注点的分离。在Struts1中,Spring通常...

    实用SSH框架,用Spring来管理hibernate.

    SSH框架是Java开发中常用的三大框架整合,包括Struts、Hibernate和Spring。这些框架的结合提供了模型-视图-控制器(MVC)架构的支持,数据持久化以及依赖注入等功能,大大提高了开发效率和代码的可维护性。接下来,...

    hibernate+Sturts

    hibernate+Sturt,shibernate+Sturts,hibernate+Sturts,hibernate+Sturts,hibernate+Sturts

    完整的增删改操作-sturt

    以上就是关于"完整的增删改操作-sturt"的相关知识点,希望对初学者在理解和使用Struts框架进行数据库操作时有所帮助。在实践中,不断熟悉这些概念并进行实际操作,将有助于你更好地掌握Struts框架。

    struts2多文件的上传

    Struts2是一个强大的Java EE应用程序开发框架,它简化了MVC(模型-视图-控制器)架构的实现,使得开发者可以更专注于业务逻辑。在Struts2中,文件上传是常见的功能之一,尤其在处理用户提交的表单数据时,如上传图片...

    sturt各种标签学习

    Struts框架是一个经典的Java web开发框架,它的核心部分包括一系列的标签库,这些标签库极大地简化了视图层与控制器层的交互。... ...表单标签如`&lt;form&gt;`、`&lt;checkbox&gt;`、`&lt;radio&gt;`、`&lt;select&gt;`等,用于数据的输入和传输...

    Search Charles Sturt University-crx插件

    1. **集成搜索引擎**:此插件将大学的内部搜索引擎整合到用户的浏览器中,提供一键访问和快速搜索的能力。用户无需离开浏览器就能在Charles Sturt University的网站上查找课程资料、学术文章、活动信息、教职员工...

    struts+hibernet用户登录注册

    struts+hibernet用户登录注册,用户名跟密码从JSP页面传输到服务器上,接收请求的是ActionServlet,ActionServlet接收到请求后,会查找Struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求的操作...

Global site tag (gtag.js) - Google Analytics