Struts2—整合Spring
Struts2—整合Spring
Spring框架是一个非常优秀的轻量级java EE容器,大部分javaEE应用,都会考虑使用Spring容器来管理应用中的组件。
Struts2是一个MVC框架,是一个web层的解决方案。它提供了非常简单的方式来完成与Spring的整合.
1. 整合思路
将Struts2中的Action交给Spring容器来负责生成,管理。通过这种方式,可以充分利用Spring容器的IOC特性,为Action注入业务逻辑组件。(Action被看成是控制器组件)
2. Struts2的插件机制
Struts2可以与任何Java EE框架进行整合。Struts2提供插件机制与大部分流行的JavaEE框架进行整合。
Struts2 的插件是一个jar文件。这个jar文件随Struts2 的发行包【以2.1.8.1为例】一起发布.在发行包的lib目录中,我们能找到struts2-xxx-plugin-2.1.8.1.jar的文件,这些文件就是插件文件。Struts2 的插件jar文件必须包含一个名为struts-plugin.xml的配置文件,该文件的内容与普通的struts.xml文件内容相同.当我们把这个包含struts-plugin.xml文件的jar文件复制到web应用中时,Struts2会自动加载该jar文件中的Struts-plugin.xml文件。
3. Spring插件
在Struts2的发行包中的 lib目录中,找到struts2-spring-plugin-2.1.8.1.jar.这就是struts2 的spring插件。这个插件中提供了spring与struts2整合时所需要的类。
4. 准备工作
新建web 项目,首先加入Spring 支持。这里使用MyEclipse IDE 工具,加入Spring支持的时候,注意选中 Spring web 库。
4.1启动Spring容器
Spring容器的启动可以使用监听器或者serlvet的方式来启动。这里使用监听器的方式进行启动.以下是web.xml文件中的配置.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
4.2加入Struts2的支持包和配置文件
除了加入Struts2的支持包以外,还要注意添加一个非常重要的jar包,这个jar包在Struts发行文档的lib目录中:struts2-spring-plugin-2.1.8.1.jar。只需要将这个文件加入到构建路径中即可。
在web.xml文件中做好Struts2框架的启动配置。
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
4.3、在struts.xml文件中添加spring来负责生产、管理action。
<constant name="struts.objectFactory" value="spring" />
Struts2—整合Spring的更多相关文章
- struts2整合spring的思路
struts2整合spring有有两种策略: >sping容器负责管理控制器Action,并利用依赖注入为控制器注入业务逻辑组件. >利用spring的自动装配,Action将自动会从Sp ...
- struts2整合spring出现的Unable to instantiate Action异常
在struts2整合spring的时候,完全一步步按照官方文档上去做的,最后发现出现 Unable to instantiate Action,网上一搜发现很多人和我一样的问题,配置什么都没有错误,就 ...
- struts2整合spring应用实例
我们知道struts1与spring整合是靠org.springframework.web.struts.DelegatingActionProxy来实现的,以下通过具体一个用户登录实现来说明stru ...
- Struts2 整合Spring(Maven,注解版)
这两天正在试验Struts2与Spring框架的整合,和他们各自的“注解”.今天就总结一下这两个框架怎么用注解进行整合. 一,加入两者的依赖包,除了两者的必要依赖外,还需要导入struts2-spri ...
- Struts2整合Spring方法及原理
一. Struts 2框架整合Spring步骤 1. 复制文件.复制struts2-spring-plugin-x-x-x.jar和spring.jar到WEB-INF/lib目录下.其中的x对应 ...
- Struts2+Hibernate+Spring(SSH)三大框架整合jar包
Struts2 + Spring3 + Hibernate3 框架整合 1. 每个框架使用 (开发环境搭建 )* 表现层框架 struts2 1) jar包导入: apps/struts2_blank ...
- SSH整合(Struts2+hibernate+spring)
1.创建表 create table t_user( id int primary key auto_increment, username varchar(50), password varchar ...
- Struts2,Spring, Hibernate三大框架SSH的整合步骤
整合步骤 创建web工程 引入相应的jar包 整合spring和hibernate框架 编写实体类pojo和hbm.xml文件 编写bean-base.xml文件 <!-- 1) 连接池实例 - ...
- 二十六:Struts2 和 spring整合
二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot-- ...
随机推荐
- Openresty最佳案例 | 第8篇:RBAC介绍、sql和redis模块工具类
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616738 本文出自方志朋的博客 RBAC介绍 RBAC(Role-Based Acce ...
- Django-rest-framework(二)serializers 使用
简介 初次见到serializers文件,想必大家都会感到陌生,所以,我们不妨换个词来形容他的作用,那就是django 中的Form,这样是不是感觉熟悉了一点. 实际上,serializers 的作用 ...
- 《瞿葩的数字游戏》T3-三角圣地(Lucas)
题目背景 国王1带大家到了数字王国的中心:三角圣地. 题目描述 不是说三角形是最稳定的图形嘛,数字王国的中心便是由一个倒三角构成.这个倒三角的顶端有一排数字,分别是1~N.1~N可以交换位置.之后的每 ...
- 来自一枚初生牛犊不怕虎的小菜鸟的Mock.js使用,不足之处欢迎读者的指出 谢谢
本文章写的是基于require的mock.js的几种常用生成随机数据和ajax模拟前后端的交互信息 <script src="./app/libs/require.js"&g ...
- php 微信客服信息推送失败 微信重复推送客服消息 40001 45047
/*** * 微信客服发送信息 * 微信客服信息推送失败 微信重复推送客服消息 40001 45047 * 递归提交到微信 直到提交成功 * @param $openid * @param int $ ...
- Flask初学者:url_for
URL反转:反转是指通过视图函数名称得到其对应的URL(有反转也就有正转,即通过URL得到视图函数返回的内容,也就是我们平时的访问网页了),需要“url_for(endpoint, **values) ...
- 《史上最简单的MySQL教程》系列分享专栏
<史上最简单的MySQL教程>系列分享专栏 <史上最简单的MySQL教程>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read ...
- 批量安装Python第三方库
1.首先在python程序的文件夹内,新建一个文本文档,名字自定义,在文档中输入需要安装的第三方库,并用英文半角逗号隔开. import os def getTxt(): txt = open(&qu ...
- Python3爬虫(十一) 爬虫与反爬虫
Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.重要概念 二.爬虫反爬虫进化论
- Python自动化运维——文件内容差异对比
Infi-chu: http://www.cnblogs.com/Infi-chu/ 模块:difflib 安装:Python版本大于等于2.3系统自带 功能:对比文本之间的差异,而且支持输出可读性比 ...