- 浏览: 1883126 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (514)
- OPEN (41)
- WARN (33)
- EXPER (16)
- RESOURCE (7)
- TOOL (4)
- DWR (10)
- Struts1.x (10)
- Ibtais (18)
- MyEclipse (30)
- Sql Server (64)
- Tomcat (7)
- APACHE (4)
- JSP (18)
- SERVLET (6)
- ENGLISH (0)
- ECSide (8)
- JasperReports (7)
- JAVA (24)
- JS (42)
- XML (26)
- CVS (8)
- Mind (1)
- JQUERY (2)
- IBATIS (6)
- PROJECT (0)
- STRUTS2 (0)
- PROXOOL (0)
- SPRING (4)
- Hibernate (0)
- SSI (0)
- JBPM (11)
- FLEX (3)
- JSON (2)
- GWT (1)
- jeecms v3 (1)
- Flash (2)
- DATA (1)
- ORACLE (3)
- 查询oracle 中逗号分隔字符串中所有值 (1)
最新评论
-
小小西芹菜:
GoEasy web三步轻松实现web实时推送1. 引入goe ...
服务器推送技术 java -
kg_1997:
这个方法太棒了,可以不用to_date函数,实在是棒!!!
java/oracle日期处理 -
wodesunday:
:idea:
SQL的分段统计查询语句 -
wodesunday:
引用
SQL的分段统计查询语句 -
BlueSkator:
讲的有点浅,没有深入进去
tomcat需要的重新发布和重启服务器的几种情况
Struts与Spring的集成主要有两种方式,即DelegatingRequestProcessor和DelegatingActionProxy方式,这两种方式应用了Spring IOC来管理Struts的Action,顾名思义,两者即是在代理某对象,熟释Struts的必然知晓RequestProcessor和Action,Spring在这两处切入到页面层的请求链中(通过扩展Struts中的RequestProcessor、Action类),以便将截获的请求传入到Spring管理的Action实例中,从而实现页面层到服务层的有效衔接。配置在Struts 1.2.9 + Spring 2.0环境下通过。
1 DelegatingRequestProcessor
1.1 配置ContextLoaderPlugin加载Spring配置
Spring中的ContextLoaderPlugin类实现了Struts的PlugIn接口,用于加载Spring配置。
ContextLoaderPlugin默认加载为WEB-INF\${actionServletName}-servlet.xml,如果应用部署描述文件web.xml中配置:
<servlet>
<servlet-name>actionServlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
则ContextLoaderPlugin默认加载为WEB-INF\actionServlet-servlet.xml文件。我们需要在struts-config文件中加入:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"/>
如果有多个Spring配置文件,则可以如下使用:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/spring/applicationContext.xml,
/WEB-INF/spring/actionContext.xml/>
</plug-in>
1.2 配置DelegatingRequestProcessor转发请求
在Struts中,ActionServlet通过RequestProcessor完成实际的请求转发,Spring中的DelegatingRequestProcessor扩展了Struts下的RequestProcessor类,要想DelegatingRequestProcessor完成请求转发就得在struts-config.xml文件中配置:
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>
1.3 配置Struts中的Action
Struts配置文件struts-config.xml配置片段:
<action-mappings>
<!-- 此处可以省略type属性 -->
<action path="/PreAddEditBook" name="bookForm" scope="request">
<forward name="AddEditBookJsp" path="/AddEditBook.jsp"/>
action>
action-mappings>
Spring配置文件actionContext.xml配置片段:
<bean name="/PreAddEditBook" class="com.examples.action.PreAddEditBookAction"
scope="singleton">
<!-- Spring服务层接口 -->
<property name="bookManager" ref=" bookManager"/>
</bean>
2 DelegatingActionProxy
Spring中的这个DelegatingActionProxy类扩展了Struts中的Action类。
此种方式只需要在以上方式修改两处即可:
1) 将1.2的配置注释掉;
2) 1.3中Struts配置文件struts-config.xml中的action配置里加入type=”org.springframework.web.struts.DelegatingActionProxy”属性项。
3两种方式比较
1) 两者的目的都是将请求转发给Spring管理的Bean;
2) 在请求转发给action之前,转发给Spring的Bean;DelegatingRequestProcessor
3) 被配置为Struts的action,所有请求由ActionServlet截获再转发到action(所有action的实现类都是DelegatingActionProxy),DelegatingActionProxy再将请求转发到Spring的Bean;DelegatingActionProxy
4) 占用了一个Struts的扩展点即RequestProcessor,用户如需扩展Struts的RequestProcessor,此时只能从DelegatingRequestProcessor作为基类扩展;DelegatingRequestProcessor
5) 相对较多地侵入了Struts原有的独立的配置,所有action的实现类都是DelegatingActionProxy,页面层不方便脱离Spring。DelegatingActionProxy
1 DelegatingRequestProcessor
1.1 配置ContextLoaderPlugin加载Spring配置
Spring中的ContextLoaderPlugin类实现了Struts的PlugIn接口,用于加载Spring配置。
ContextLoaderPlugin默认加载为WEB-INF\${actionServletName}-servlet.xml,如果应用部署描述文件web.xml中配置:
<servlet>
<servlet-name>actionServlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
则ContextLoaderPlugin默认加载为WEB-INF\actionServlet-servlet.xml文件。我们需要在struts-config文件中加入:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"/>
如果有多个Spring配置文件,则可以如下使用:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/spring/applicationContext.xml,
/WEB-INF/spring/actionContext.xml/>
</plug-in>
1.2 配置DelegatingRequestProcessor转发请求
在Struts中,ActionServlet通过RequestProcessor完成实际的请求转发,Spring中的DelegatingRequestProcessor扩展了Struts下的RequestProcessor类,要想DelegatingRequestProcessor完成请求转发就得在struts-config.xml文件中配置:
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>
1.3 配置Struts中的Action
Struts配置文件struts-config.xml配置片段:
<action-mappings>
<!-- 此处可以省略type属性 -->
<action path="/PreAddEditBook" name="bookForm" scope="request">
<forward name="AddEditBookJsp" path="/AddEditBook.jsp"/>
action>
action-mappings>
Spring配置文件actionContext.xml配置片段:
<bean name="/PreAddEditBook" class="com.examples.action.PreAddEditBookAction"
scope="singleton">
<!-- Spring服务层接口 -->
<property name="bookManager" ref=" bookManager"/>
</bean>
2 DelegatingActionProxy
Spring中的这个DelegatingActionProxy类扩展了Struts中的Action类。
此种方式只需要在以上方式修改两处即可:
1) 将1.2的配置注释掉;
2) 1.3中Struts配置文件struts-config.xml中的action配置里加入type=”org.springframework.web.struts.DelegatingActionProxy”属性项。
3两种方式比较
1) 两者的目的都是将请求转发给Spring管理的Bean;
2) 在请求转发给action之前,转发给Spring的Bean;DelegatingRequestProcessor
3) 被配置为Struts的action,所有请求由ActionServlet截获再转发到action(所有action的实现类都是DelegatingActionProxy),DelegatingActionProxy再将请求转发到Spring的Bean;DelegatingActionProxy
4) 占用了一个Struts的扩展点即RequestProcessor,用户如需扩展Struts的RequestProcessor,此时只能从DelegatingRequestProcessor作为基类扩展;DelegatingRequestProcessor
5) 相对较多地侵入了Struts原有的独立的配置,所有action的实现类都是DelegatingActionProxy,页面层不方便脱离Spring。DelegatingActionProxy
发表评论
-
Apache FileUpload组件
2013-11-22 15:05 5451Apache FileUpload组件 在最初的 htt ... -
各种数据库对应的jar包、驱动类名和URL格式
2012-11-20 16:38 1516各种数据库对应的jar包、驱动类名和URL格式 2011 ... -
Java Web Start
2011-09-14 10:45 1351一.首先了解一下什么是java web start 1JNL ... -
The template at a glance一目了然的模板
2011-08-05 09:06 1501The template at a glance一目了然的模板 ... -
FreeMarker
2011-08-05 09:04 1131一目了然的数据模型 As you have seen, th ... -
jeecms v3
2011-07-04 15:28 1572好久没有逛jeecms的官方论坛了,今天去看了下,jeecms ... -
gwt整合ibatis
2011-07-02 09:42 2084最近整合gwt整合ibatis,常见错误 控制台报错: 一.N ... -
GWT RPC原理浅析(二)
2011-06-17 16:14 2857前一篇介绍了RPC大体的流程,核心方法是RemoteServi ... -
GWT RPC原理浅析
2011-06-17 15:26 5332GWT中前后台交互有多种方式,包括JSON,XML,RPC 其 ... -
五种开源协议
2011-04-25 14:54 1119五种开源协议(BSD,Apache,G ... -
JAVA代码调用客户端摄像头 初步探讨
2011-02-21 16:51 6760首先到sun下载最新的jmf,然后安装。 然后,说一下 ... -
tomcat部署jbpm项目 loader constraint violation
2011-02-11 14:22 1804当tomcat部署jbpm项目 时,启动项目控制台出错 ja ... -
E3.Tree参考手册
2010-12-10 09:52 3585E3.Tree参考手册 (v1.0) 目录 简介 2 系统 ... -
e3.tree 1.5 发布,很好,很强大,有截图[转]
2010-12-07 14:14 1143E3.Tree是E3平台下一个用于构造树型UI(menu,tr ... -
在Action中获取ServletContext实例
2010-11-25 13:43 37701:在Action中获取servletContext的时候可以 ... -
Bean named 'sqlMapClient' must be of type [org.springframework.orm.ibatis.SqlMap
2010-11-22 09:57 4945在整合spring2.5和ibatis2,出现了ibatis的 ... -
spring,ibatis的笔记
2010-11-22 08:51 1045在上文中,我们把iface ... -
spring,ibatis的笔记
2010-11-22 08:51 977在上文中,我们把iface ... -
后台错误处理
2010-11-17 15:10 1329后台处理 if (!isTokenValid(request) ... -
struts1 和Spring整合jar包
2010-11-17 11:33 5017struts1 和Spring整合 struts1 和Spri ...
相关推荐
下面,我们将深入探讨Spring与Struts的集成方式,并基于给定的标题“Spring与Struts集成方式一”展开讨论。 首先,我们需要理解Spring和Struts的核心概念。Spring框架提供了一个全面的基础架构,支持创建健壮的、...
下面,我们将深入探讨Spring与Struts集成方案二的关键知识点。 首先,集成的主要目的是将Spring的业务逻辑管理与Struts的视图和控制层结合起来。在方案二中,通常会使用Spring作为应用程序的核心框架,负责管理Bean...
在Spring与Struts集成时,我们需要Spring的核心库、Struts的主库以及相应的XML配置文件。在Spring_struts_2这个压缩包中,可能包含了这些库文件,例如spring.jar、struts2-core.jar等。确保这些库被正确地添加到项目...
7. **整合Hibernate**:如果项目中还涉及到数据库操作,SpringStrutsHibernate的文件名可能暗示了Spring与Hibernate的集成。在Spring配置文件中,我们可以定义SessionFactory bean,以及数据访问对象(DAO)的bean。...
下面我们将详细探讨Spring与Struts集成的相关知识点。 首先,Spring 框架以其强大的DI(Dependency Injection)和AOP(Aspect Oriented Programming)特性而闻名,它可以管理对象的生命周期和依赖关系,使得代码...
本文将探讨如何将Spring与Struts进行集成,特别是第一种方案的实现细节。 首先,让我们了解集成Spring和Struts的基本概念。Spring作为一个控制反转(IoC)容器,可以管理Struts中的Action类实例,提供依赖注入,使...
本文将详细探讨一种Spring与Struts集成的方案。 ### 集成背景 Spring的IoC容器可以帮助我们管理对象的生命周期和依赖关系,而Struts则专注于处理HTTP请求和响应,以及业务逻辑的流转。通过集成,我们可以让Spring...
为了方便大家开发,特意制作了intellij环境下maven项目spring+struts集成空模板。直接导入intellij就可以用,模板下有个简单的小例子。对于学习spring+struts集成、以及希望快速开发的人来说都是不错的资源
8. **Spring与Struts集成**: - 配置Action:在Spring配置文件中,将Biz注入到对应的Action类。 - 修改Struts配置:将Action的类型改为DelegatingActionProxy,这是Spring Struts集成的关键,使得Action实例由...
在`StrutsTestCaseDemo`这个压缩包中,很可能包含了演示如何测试Spring与Struts集成应用的示例代码。通过分析和运行这些示例,开发者可以更直观地了解如何设置测试环境,编写测试用例,以及如何模拟HTTP请求和响应,...
集成Spring和Struts2的好处在于,Spring可以帮助管理Struts2的Action和业务逻辑,实现松耦合和更好的测试性。同时,Struts2的MVC模型和丰富的插件系统可以提供优雅的用户界面和交互控制。这样的结合,不仅提升了开发...
同时,为了集成 Spring,需要配置 Struts2-Spring 插件,这样 Struts2 就能利用 Spring 管理的 Bean。 4. **Action 类**:Action 类通常作为 Struts2 处理请求的入口,它可以从 Spring 容器中注入所需的依赖。通过...
- Spring与Struts2集成,Spring可以作为Struts2的Action的依赖注入容器,通过Spring的ApplicationContext获取服务层对象,实现业务逻辑处理。 - Struts2与Hibernate集成,通常在Action中通过SessionFactory获取...
5. **拦截器集成**:可以使用Spring的AOP拦截器与Struts 2的拦截器相结合,增强应用的功能。 6. **测试与调试**:整合完成后,进行单元测试和集成测试,确保所有组件协同工作。 整合Spring和Struts 2可以使开发...
**Spring和Struts集成详解** 在Java Web开发中,Spring框架和Struts框架都是不可或缺的组件,它们分别在依赖注入(DI)和模型-视图-控制器(MVC)架构方面展现出强大的功能。Spring提供了全面的后端服务管理,包括...
标题中的"Spring集成struts以及hibernate jar包"指的是在Java Web开发中,将Spring框架与Struts2和Hibernate框架进行整合的过程。这通常是为了构建一个完整的MVC(Model-View-Controller)架构,其中Spring负责依赖...
Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,以及对其他框架的良好集成,而Struts则是一个专注于MVC模式的轻量级框架。在整合两者时,主要目标是让Spring管理Struts的Action实例,这样可以利用Spring...
Spring与Struts集成,可以将业务逻辑组件注入到Struts的Action类中,从而简化了Action类的编写,同时也使得测试变得更加容易。此外,Spring还提供了Spring MVC,虽然与Struts都是MVC框架,但在某些情况下,Spring ...
**Spring与Struts集成**: 在Spring Struts集成中,Spring可以作为依赖注入容器,为Struts的Action类提供依赖。这可以通过Spring的Struts Plugin实现,它可以自动扫描并管理Action类,同时提供了事务管理、AOP等功能...