- 浏览: 684754 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
DelegatingActionProxy
org.springframework.web.struts.DelegatingActionProxy
在目录spring-framework-2.5.4\dist\modules下的spring-webmvc-struts.jar
如何将Struts1.x和spring整合在一起,让spring去管理struts中的Action实例,action里面属性的注入?
必看:http://www.iteye.com/topic/18348
http://java.chinaitlab.com/Struts/767495_3.html
1.在web.xml加入:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:spring/core/applicationContext.xml </param-value> </context-param>
2.修改struts-config.xml中action节点的配置信息,将原来定义的
<action path="/validateUser"
type="com.wuwei.struts.action.ValidateUserAction" name="userForm">
<forward name="success" path="/success.jsp"></forward>
<forward name="fail" path="/fail.jsp"></forward>
</action>
中的type改为: type="org.springframework.web.struts.DelegatingActionProxy">或者你也可以不改,而在<plug-in>标签前加入如下定义
<!-- 加上controller就不用再配置action的type属性了/或者说type属性不用改为
type="org.springframework.web.struts.DelegatingActionProxy" -->
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
3.在applicationContext.xml中为ValidateUserAction添加定义,将userDao的实例化加给Spring,这也是Spring中的依赖注入
<!-- Struts -->
<bean name="/validateUser"
class="com.wuwei.struts.action.ValidateUserAction">
<property name="userDAO" ref="userDao"/>
</bean>
当然,这里ref(引用)的Bean userDao也是在applicationContext.xml中己定义好的
<!-- 通过HibernateDaoSupport来操作数据库,需要植入sessionFactory
UserDao继承自HibernateDaoSupport
-->
<bean id="userDao" class="com.wuwei.struts.dao.UserDAO">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
二、使用 DelegatingActionProxy
使用 DelegatingRequestProcesso 非常简单方便,但有一个缺点:RequestProcessor 是Struts 的一个扩展点,也许应用程序本身就需要扩展RequestProcessor ,而DelegatingRequest Processor 已经使用了这个扩展点。
为了重新利用 Struts 的 RequestProcessor 这个扩展点,有以下两个方法:使应用程序的 RequestProcessor 不再继承 Struts 的 RequestProcessor ,改为继承DelegatingRequestProcessor 。
使用 DelegatingActionProxy。
前者常常有一些未知的风险,而后者是 Spring 推荐的整合策略。使用 DelegatingActionProxy 与DelegatingRequestProcessor 的目的只有一个,都是将请求转发给 Spring管理的 bean。
DelegatingRequestProcessor 可直接替换了原有的 RequestProcessor,并在请求转发给action 之前,转发给 Spring 管理的 bean; 而 DelegatingActionProxy 则被配置成 Struts 的action,即所有的请求先被 ActionServlet拦截,然后将请求转发到对应的 action,而 action的实现类全都是 DelegatingActionProxy; 最后由 DelegatingActionProxy 将请求转发给Spring 容器的 bean(真正的处理类action)。
这个bean可以配置在applicationContext.xml中,也可以将它从里面抽取出来,配置在专门的applicationContext-action.xml中,并在applicationContext.xml里面配置该文件名的映射路径。 <bean name="/datadictAdmin" class="com.lenovo.platform.admin.web.action.DatadictAdminAction"> <property name="datadictService" ref="datadictService" /> </bean>
可以看出:使用 DelegatingActionProxy 比使用 DelegatingRequestProcessor 要晚一步转发到 Spring 的 contexto 但通过这种方式可以避免占用扩展点。与使用 DelegatingRequestProcessor 对比,使用 DelegatingActionProxy 仅需要去掉controller 配置元素,并将所有的 action 实现类改为 DelegatingActionProxy 即可。
发表评论
-
spring 事务
2014-03-31 11:14 3406Spring 事务异常回滚 ... -
Spring定时器(Quartz)
2013-08-20 22:54 2777Spring定时器(Quartz) 1. ... -
模拟Spring的 IOC 和 DI
2013-08-15 21:42 1100模拟Spring的 IOC 和 DI 1.BeanFactor ... -
spring任务调度
2013-07-18 17:10 994spring任务调度 1,一个job对应一个处理类(bean ... -
获取ApplicationContext对象的几种方法
2013-01-29 10:47 5512方法一:在初始化时保 ... -
Spring 如何读取properties文件
2013-01-28 16:29 1522Spring 如何读取properties文件 ------ ... -
springSecurity的登录验证
2013-01-27 20:57 2380springSecurity的登录验证 一、Springse ... -
Spring事务配置的五种方式
2013-01-11 15:10 1009Spring事务配置的五种方式 参考1:http://w ... -
ehcache缓存的使用
2013-01-11 15:10 974ehcache缓存的使用 1.ehcache缓存介绍:h ... -
在spring中如何处理oracle大字段
2013-01-10 12:45 1378在spring中如何处理oracle大字段 在spring ... -
spring事务管理
2012-12-06 14:34 642spring管理事务提交 http: ... -
spring中配置log4j
2012-11-10 16:30 1613log4j 和 slf4j slf4j和log4j用于做日志 ... -
spring每个包的详解
2012-11-09 16:53 924spring每个包的详解 spring.jar 是包含有完 ... -
当Spring管理Struts2时配置的scope="prototype"
2012-11-05 10:36 1021Spring scope="prototype&q ... -
web.xml配置加载spring
2012-11-05 10:36 983web.xml配置加载spring 第一种加载applica ... -
Spring中配置数据源
2012-11-04 20:08 1024Spring中配置数据源 ... -
Spring IOC实例化了哪些对象
2012-10-30 09:25 1396Spring IOC实例化了哪些对象 启动servlet容 ... -
<aop:pointcut />
2012-10-29 17:00 981<aop:config> <aop:po ... -
SSH项目解决乱码问题
2012-10-10 17:55 1177SSH解决乱码问题 第一种:利用spring的filte ... -
sping学习
2012-10-10 17:43 960spring知识点学习 、
相关推荐
SSH集成代理1.2版第二种和struts.xml中DelegatingActionProxy代理搭配
这只是一个最简单的demo 只有一个请求 通过DelegatingActionProxy实现
SSH集成代理2.0版和struts.xml中DelegatingActionProxy代理搭配
SSH集成代理1.2版第一种和struts.xml中DelegatingActionProxy代理搭配
上传的资料都是非常经典的,这也是我学习过程中的心得,希望大家能给我指点,也希望大家多上传资料共同学习。千万不要传空文件夹。。。
NULL 博文链接:https://qq421606162.iteye.com/blog/2000148
NULL 博文链接:https://960432397.iteye.com/blog/2028802
scope="request" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="scuess" path="/index.jsp"></forward> type用到了spring的一个代理 action。 第二步 配置hibernate,...
org.springframework.web.struts.DelegatingActionProxy.class org.springframework.web.struts.DelegatingActionUtils.class org.springframework.web.struts.DelegatingRequestProcessor.class org.spring...
DelegatingActionProxy DelegatingActionUtils DelegatingConnectionFactory DelegatingDataSource DelegatingEntityResolver DelegatingFilterProxy DelegatingIntroductionInterceptor DelegatingJob ...
1. 简介 1.1. 概览 1.2. 使用场景 2. Spring 2.0 的新特性 ... DelegatingActionProxy 15.4.2. ActionSupport 类 15.5. Tapestry 15.5.1. 注入 Spring 托管的 beans 15.5.1.1. 将 Spring Beans 注入到 Tapestry ...
用DelegatingRequestProcessor和DelegatingActionProxy两种方法实现struts和spring的整合,不同的地方就在struts-config.xml文件中,当前文件中DelegatingRequestProcessor是注释的。
Spring与struts整合主要有三种方式,通过Spring的ActionSupport类,通过Spring的DelegatingRequestProcessor类、通过Spring的DelegatingActionProxy类。