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-- ...
随机推荐
- C# Pascal 命名规则
在以前版本的Visual Studio中,微软曾建议使用匈牙利命名法来写代码,并鼓励开发这位写出统一格式的代码而使用相同的法则.在最近发布的.NET和它的编程语言中,微软更换了他的这一法则.如果你用过 ...
- neo4j 安装步骤 转自:http://blog.csdn.net/luoluowushengmimi/article/details/19987995
1. Neo4j简介 Neo4j是一个用Java实现的.高性能的.NoSQL图形数据库.Neo4j 使用图(graph)相关的概念来描述数据模型,通过图中的节点和节点的关系来建模.Neo4j完全兼容A ...
- Oracle 手工创建awr快照,获取报告
Oracle 的自动化工具都是通过后台的进程调用相关的函数实现,而Oracle也允许用户通过包来手工调用这些函数,显然这样增加了工具的安全性,也提高了可操作性,使得DBA可以更灵活的使用这些函数来满足 ...
- iOS之查看代码运行的时间
有时候我们想要准确的知道某段代码.某个循环执行的时间,然后分析效率等问题,这个时候就需要执行时间是多少.正好看到网上已经有人做了这个工作,我就直接摘下来了.正好也用了宏的方式计算时间,我们只要在需要计 ...
- XAMPP中的MySQL与本地MySQL冲突的问题
学习SQL时在本地中先安装了MySQL,后来因为项目需要又安装了XAMPP集成环境,今天在启动项目的时候发现启动MySQL各种问题(期望启动的是XAMPP中的MySQL服务),在Navicat中显示成 ...
- DevOps - 配置管理 - Ansible
http://www.zsythink.net/archives/category/运维相关/ansible/
- linux 用户 用户组
useradd -m -G sudo zhangxiao passwd zhangxiao
- 虚拟机服务没有启动的 CentOS 和 Ubuntu 无法上网
测试用 vmware 安装 OSX,安装补丁时要停止 vmware 的服务.如下图: 结果忘记启动了,导致 centos\ubuntu 等所有虚拟机都无法上网...所有的 启动这四个服务后,一切恢复正 ...
- JavaSE基础复习---Class类与反射机制
---恢复内容开始--- 目录: 1.java.lang.class类 2.Java中的反射机制 3.运行时与编译时概念 1. java.lang.class类 Java程序在运行时,Java运行时系 ...
- 分享一个工作中遇得到的sql(按每天每人统计拖车次数与小修次数)
查询每人每天的数据 首先先建表 CREATE TABLE `user` ( `name` ) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CR ...