- 浏览: 681414 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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实现)
Spring分别与Struts1.x 和Struts2.x集成方法
1.整合struts1:
a.可以通过action继承spring提供的ActionSupport来获得spring中的bean,
b.配置struts的过程处理器cotroller类为spring的org.springframework.web.struts.DelegatingRequestProcessor
c.用ActionProxy代理Action,Action继承ActionSupport,每个类里可以有多个处理方法
2.Spring不用去管理struts2,因为struts2是本身有Ioc的特性,更容易和Spring进行整合,获得Spring的环境非常容易,struts2的配置文件中说明bean容器为spring就可以很轻松获得spring中的bean对象
Spring整合Struts1.x详细:
Spring 框架与 Struts 框架集成有三个方案
1.使用spring的ActionSupport类集成Struts
采用这种方式需要修改Struts中的action,使struts的action继承Spring的ActionSupport,这样action中定义的业务逻辑对象可通过getBean()方法从Spring的应用上下文WebApplicationContext中获得,从而达到集成的效果。不过缺点就是使struts的Action和Spring紧密的耦合在一起。
下面介绍此方案集成的步骤
(1).加载applicationContext.xml 有两种方法
一、通过struts-config.xml文件来加载
<plug-in className="org.springframework.web.struts.ContextLoaderPlugin">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml">
</set-property>
</plug-in>
二、通过web.xml中配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
(2).修改Action 之前继承的父类是Action,需要改成Spring的ActionSupport类,这样就能使用上下文对象获取applicationContext.xml配置文件里的getBean()方法
ApplicationContext context = this.getWebApplicationContext();
业务逻辑对象 = context.getBean("idName");
这样就不需要new来创建对象,把创建的细节很好的封装起来,完全由spring容器plicationContext.xml
来注入管理
2.使用spring的Action代理集成Struts
采用此方法需要建立一个Spring的Action代理,代理Struts的Action,当Struts执行Action时执行这个代理。代理会在Spring应用上下文找到真正的StrutsAction,然后就交给这个Action处理,下面看看步骤
(1).加载applicationContext.xml 有两种方法
一、通过struts-config.xml文件来加载
<plug-in className="org.springframework.web.struts.ContextLoaderPlugin">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml">
</set-property>
</plug-in>
二、通过web.xml中配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
(2)修改Action 为所需要的业务逻辑对象定义属性并增加setXXX()方法,这样做目的是为了使用spring的依赖注入。
(3)修改struts-config.xml文件 修改的内容是<action>元素的type属性值。修改内容为
type="org.springframework.web.struts.DelegatingActionProxy"
(4).配置applicationContext.xml
3..配置struts的过程处理器cotroller类为spring的org.springframework.web.struts.DelegatingRequestProcessor
修改Struts控制器来继承struts
为了更直观的在Struts配置文件中显示出Action对应的处理类,可以将Struts配置文件中<action>元素的type属性直接显示为Struts的Action类,执行的时候还会到Spring的上下文中去查找对应的StrutsAction类。
完成这样的过程需要修改controller,将struts-config.xml中的controller改成org.springframework.web.struts.DelegatingTilesRequestProcessor如果Struts中使用了Tiles组件,则可以使用org.springframework.web.struts.DelegatingTilesRequestProcessor来作为controller。如果Struts没有使用Tiles组件,则可以使用org.springframework.web.struts.DelegatingRequestProcessor来作为controller。
下面说说步骤:
(1).加载WebApplicationContext.上下文同以上方法的第一步骤。
(2).新建一个类 EncodingProcessor 并继承DelegatingRequestProcessor 实现 process()方法同时为了解决乱码问题必须在process()方法上添加两行代码:
request.setCharacterEncoding(UTF-8);
response.setContentType("text/html;charset=UTF-8");
(3).修改struts-config.xml文件,即修改Struts的RequestProcessor控制器
使用自定义的控制器controller需要在Struts-config.xml文件中对<controller>元素进行配置,代码如下
<controller processorClass="EncodingProcessor的类路劲"/>
发表评论
-
Struts2学习笔记
2013-07-27 10:42 1120Struts2学习笔记 1.官网下载包 URL:http ... -
Struts2_Action处理类获取Scope对象
2012-11-16 14:05 495Struts2_Action处理类获取Scope对象 1 ... -
S1SH整合
2012-11-12 18:10 868struts1_spring_Hibernate整合 ... -
Struts2一个Action内包含多个请求处理方法(三种方式)
2012-11-12 09:29 1143Struts2一个Action内包含多个请求处理方法(三种方式 ... -
Struts1之Titles框架 Demo
2012-11-09 14:19 1570Struts1之Titles框架 Demo 1.strut ... -
spring将service注入到Action中(s1和s2)
2012-11-09 11:53 1932spring将service注入到Action中 spri ... -
BeanUtils.copyProperties
2012-11-08 17:23 941BeanUtils.copyProperties与Proper ... -
struts1.x action小结
2012-11-08 13:46 672Struts1之Action小结 <!-- 正 ... -
<action parameter="method" />
2012-11-06 09:22 1371<action parameter="meth ... -
MessageResources
2012-11-06 09:22 1190MessageResources struts1.x配 ... -
Struts1 之 Titles组件
2012-11-05 09:56 1028Struts1之Tiles框架 1.在struts-con ... -
Struts1 之 Validator组件
2012-11-05 10:37 978Struts1 之 Validator框架 struts1. ... -
struts1 之 ContextLoader组件
2012-11-05 10:36 793把action交给spring管理 参考链接: 1.htt ... -
Struts1.x 标签集合
2012-11-03 21:29 1140Struts1.x 标签集合 <%@ tagli ... -
spring实例化struts1或者struts2.x的action
2012-11-01 17:35 1123spring实例化struts1或者struts2.x的act ... -
struts1 和 struts2中Action什么时候实例化
2012-11-01 17:19 1615struts1 和 struts2中Action什 ... -
struts2中 ServletActionContext与ActionContext区别 .
2012-10-30 17:29 1078http://blog.csdn.net/lushuaiyin ... -
struts1.x 和 struts2.x向Action里填充jsp参数原理
2012-10-30 10:13 1716struts1.x 和 struts2.x向Action里填充 ... -
Struts1和Struts2的区别
2012-10-23 22:46 948Struts1和Struts2的区别 s1 ... -
上传功能的实现(Struts2)
2012-10-12 09:18 1106上传功能的实现(Struts2) 在WebRoot根目录新建 ...
相关推荐
Struts2.X 及于spring集成的jarStruts2.X 及于spring集成的jar
struts1.x+spring+jta集成例子(包含所有jar包),mysql数据库,表需要自己创建
集成hibernate3.6.8+spring3.0.6+struts2.2.3.1实例 集成hibernate3.6.8+spring3.0.6+struts2.2.3.1实例
集成Hibernate3.6.8+Spring3.0.6+struts2.2.3.1
集成Hibernate3.6.8+Spring3.0.6+struts2.2.3.0
struts1.x+spring+hibernate集成例子,包含所有jar包,ehcache二级缓存,数据库mysql,需要自己创建
s1sh 集成实例 空项目 有注释 很好很容易看懂
eclipse_struts_hibernate_spring集成开发宝典 StrutsCore.rar
Struts1.3+Spring3.0+Hibernate3.3+DWR2.X框架集成文档v1.4.pdf 包括事务处理配置,个人整理,仅供学习,请务拍砖。呵呵~~
struts+spring+ibatis框架集成.pdf
在本文中,笔者将Struts2.0.6、Spring2.0.6和Hibernate3.1进行整合,希望通过这样的整合示例,让读者了解这些框架各自的特点,以便于在自己的项目中,根据实际情况,尽快的过渡到Struts2的时代。本文的内容基于...
请下载Struts Hibernate Spring集成开发宝典.part1.rar和Struts Hibernate Spring集成开发宝典.part2.rar 《Struts Hibernate Spring集成开发宝典》中文pdf版 计算机电子书下载,《Struts Hibernate Spring集成开发...
三大框架集成及两两集成的jar包,spring集成hibernate的jar包以及spring集成struts2的jar包已经单独打包
eclipse_struts_hibernate_spring集成开发宝典 blog.rar
eclipse_struts_hibernate_spring集成开发宝典 StrutsInterface.rar
struts spring集成 struts spring集成 struts spring集成
struts2 spring hibernate集成 介绍上传下载。。
struts2入门教程及struts2集成spring。
struts2.2.3集成spring时需要添加的jar包,struts2-spring-plugin-2.2.3.jar
Struts.Hibernate.Spring集成开发宝典——pdf,可以作为基础学习之用