Spring Struts2 整合

一、在Web下使用Spring
原理:
之前加载Spring的IoC容器是用代码ApplicationContext context = new ClasspathXml......("beans.xml");加载的。
在Web中加载需要放在应用程序启动的时候加载,这可以使用监听器来实现。

1.添加jar包。
2.spring配置文件。同前
3.在web.xml加入配置——在web.xml空白处直接按alt+/选择 #contextloadlistener会生成代码片断。

<!--配置Spring配置文件的名称和位置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!--启动IoC容器的监听器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

二、Spring整合Struts2
整合什么?——用IoC容器管理Struts2的Action
如何整合?
第一步:配置Struts2
1.加入Struts2的jar包。
2.配置web.xml文件。
3.加入Struts2的配置文件struts.xml

第二步:配置Spring
1.加入Spring的jar包
Spring的标准 jar包。
struts-spring-plugin_xxx.jar包。
2.添加Spring的配置文件——beans.xml

3.在Spring的IoC容器中配置Struts2的Action——注意配置中需要把Action配置成非单例模式scope=prototype.

<beans id="infoAction" class="com.itnba.maya.controller.InfoAction" scope="prototype">
<property name="infoService" ref="com.itnba.maya.services.InfoService"></property>
</beans>

4.配置struts.xml。把<action>的class属性指向IoC容器相应bean的id。

<action name="info_save" class="infoAction">
<result>success.jsp</result>
</action>

5.在Web.xml中添加配置

<!--配置Spring配置文件的名称和位置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!--启动IoC容器的监听器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

web.xml配置的作用:
1)创建IoC容器的对象。
2)把对象放到Application中。

时间: 2024-10-05 23:27:14

Spring Struts2 整合的相关文章

Hibernate+Spring+Struts2整合开发中的一个分页显示方案(转载)

分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享交流. 1.DAO层接口的设计,在MemberDao接口中定义了如下两个方法: public interface MemberDao{        //省略了其他的代码        /**     * 分页查询     * @

Spring Struts2 整合出错

前天解决了Spring和Hibernate的整合 在我信心满满的时候,开始做Spring和Struts2的整合,我写了一个Action和网页,浏览器运行action时居然报错,原来是我web.xml没有增加Struts2的信息,增加后还是报错,原来不增加的时候,还可以访问index.jsp,增加了以后不能了,花了我近两天的时间,下午问了李霞,结果他也没有找出来,晚上看了好声音后只有再继续找. 我按照错误提示百度,越来越多的提示是说jar包重复,我本着这个点出发,看到项目里有Hibernate4.

hibernate+spring+struts2整合

这三个都是java的知名框架(SSH)struts2,作为控制器,也就相当于servlet,采用拦截器机制处理用户的请求.hibernate,持久化框架.spring,java分层的轻量级框架.用来管理,提供依赖注入,切面等.如有错误,欢迎指正.SSH框架整合首先时web.xml配置,hibernate的一大亮点就是延迟加载,就是在你需要的时候才会真正的发送SQL语句.加上OpenSessionInView是因为如果在首页需要在数据库加载数据时如果时延迟加载则会引发首页无数据的问题,只要使用了h

Spring与Struts2整合VS Spring与Spring MVC整合

Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <contex

struts2+hibernate-jpa+Spring+maven 整合(2)

之前的一篇已经讲到了 spring 与struts2 的整合, 其实对于struts2+hibernate-jpa+Spring 之间的整合的文章已经相当多了, 也相当成熟了,只要不是各自的版本不兼容之外,其他的几乎没啥问题, 不行mybatis那样是不是的冒点让人头疼的事情来 下面修改pom.xml ,把hibernate 的jar 关联进来; <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

spring与struts2整合出现错误HTTP Status 500 - Unable to instantiate Action

在进行spring和struts2整合的时候因为大意遇到了一个问题,费了半天神终于找到了问题所在,故分享出来望广大博友引以为戒!! 我们都知道在spring和struts2整合时,spring接管了action对象的创建,所以一定要在spring配置文件中配置action,这里需要注意的是配置<bean id="???">中的id时, 要与struts.xml配置action中的<action class="???">class一致,否则就会

spring+struts2+ibatis整合

与spring+springmvc+ibatis相比,只需作相应的修改即可完成框架的整合.具体配置如下: web.xml <?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" x

spring+hibernate+Struts2 整合(全注解及注意事项)

最近帮同学做毕设,一个物流管理系统,一个点餐系统,用注解开发起来还是很快的,就是刚开始搭环境费了点事,今天把物流管理系统的一部分跟环境都贴出来,有什么不足的,请大神不吝赐教. 1.结构如下 2.jar包如下 3.首先是spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

【Struts2】如何实现Struts2与Spring的整合 外加 MyBatis 框架

1,简介 一般没有人会用Spring+Struts2+MyBatis这样的框架了,可不能简称为SSM.因为SSM是Spring+SpringMVC+Mybatis的简称.SSH是Spring+Struts2+Hibernate,不过现在SSH用的人也不多了.这里笔者把Sping+Struts2+Mybatis放在一起就是纯粹的实现一下功能.主要讨论的还是Struts2和Spring. 如果不使用Spring框架,Struts2框架内部还是有机制可以利用反射创建对象,之所以要把Spring+Str