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-- ...
随机推荐
- sql server 自增长显式添加值
如果想在自增列添加数据,会提示我们不能插入显式值 解决:
- ng-repeat 指令(带有数组)
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- fabricjs 的用途
使用html5 的canvas画板做一些图片旋转,拖动,放大,缩小和合成图片的功能,有没有一个集成好的组件库呢?答案肯定是有的,而且还不止我前面提到的功能,下面介绍一下我使用的fabricjs. 官网 ...
- CF1042B 【Vitamins】(去重,状压搜索)
由题意,我们其实会发现 对于每一种果汁,其对应的状态只有可能有7种 VA VB VC VA+VB VA+VC VB+VC VA+VB+VC 这道题就大大简化了 我们把所有果汁都读进来 每种 ...
- MySql Connector/c++8中JSON处理Demo
#include <iostream> #include <vector> #include <mysqlx/xdevapi.h> using std::cout; ...
- C/C++远程开机
// 2C:4D:54:ED:08:F0 #include <stdio.h> #include <Windows.h> #include <winsock.h> ...
- vue路由回退判断
在页面一开始加上一个全局的函数: activated: function () { this.$setgoindex() } 这个函数是这样的,判断当前页面的历史记录是不是小于等于1,如果小于等于1, ...
- visual studio 2015密钥
Visual Studio Professional 2015简体中文版(专业版)KEY:HMGNV-WCYXV-X7G9W-YCX63-B98R2Visual Studio Enterprise 2 ...
- Python基础02
6.变量定义的规则: # 变量,只能由 字母 数字 下划线 特例:不能用数字开头 Python关键字,也不能使用 'and', 'as', 'assert', 'break', 'class', 'c ...
- PublicCMS 网站漏洞 任意文件写入并可提权服务器权限
PublicCMS是目前网站系统中第一个采用JAVA架构 TOMCAT+Apcche+Mysql数据库架构的CMS网站,开源,数据承载量大,可以承载到上千万的数据量,以及用户的网站并发可达到上千万的P ...