struts2.x 与 struts1.x 调用 spring 层中的 方法 对比

SPRING 2.5 + STRUTS2 配置文件 注释备忘 最近接受了一个项目,SPRING 2.5 + STRUTS2 的。之前的项目只有接触过SPRING 1.X 和 STRUTS 1.X 的。 还是先熟悉一下配置文件的好。 SPRING 2.5 的配置果然比 SPRING 1.X / SPRING 2.0 简洁多了。 第一部分:WEB.XML<web-app version="2.4" xmlns="http:// 阅读详情

总结下来以备忘记,也希望对其他网友有所帮助。

 

在struts2 中 可以直接通过get 方法来得到spring 接口的实现对象,但要注意的是,接口对象的变量名称要与 applicationContext 配置文件中指定的 ID 的变量名称一致,这样

在struts2的action 中就可以找到,并可直接调用service中的方法。

applicationContext .xml 中的配置如下:

<bean id="teicCmdService" class="com.cast.AYReport.service.impl.TeicCmdServiceImpl">
      <property name="baseDao" ref="baseDao"></property>
 </bean>

action 中的代码

private TeicCmdServiceImpl teicCmdService ;

 

public TeicCmdServiceImpl getTeicCmdService()  { 

            return teicCmdService ;

}

public void setTeicCmdService(TeicCmdServiceImpl  tcs) {

            this.teicCmdService = tcs ;

}

通过以上方式来初始化service对象。

 

 

在struts1中 需要再action中 要先 初始化 WebApplicationContext 而后 在调用它的 getBean(String str) 方法来初始化 spring的接口 从而在调用 service中的实现方法。

 

一下方法可以放到 struts1 的自定义基类中

private WebApplicationContext wac;

public void setServlet(ActionServlet actionServlet) {
  if(actionServlet!=null) {
   super.setServlet(actionServlet);
   ServletContext servletContext = actionServlet.getServletContext();
   wac = WebApplicationContextUtils
   .getRequiredWebApplicationContext(servletContext);
  }
 }

public WebApplicationContext getweb() {
  return wac;
 }

 

子类action 中就可以直接调用父类的 WebApplicationContext  对象的方法来初始化spring了 参考代码如下:

private DdentityManager dManager;

dManager =(DdentityManager)this.getweb().getBean("ddentityManager");

 

上面的bean中的变量ddentityManager要与 applicationContext.xml 中的 ID 一致, 这样即可。

 

注意上面的红色部分。 

Struts2与Spring2框架整合实战详解 Struts2是一个基于MVC设计模式的Java Web应用框架,其核心通过拦截器(Interceptor)实现请求处理流程的解耦。Action类作为控制器组件,负责业务逻辑调度,配合Result映射实现视图跳转,具备良好的扩展性。Spring2引入了完善的依赖注入(DI)和面向切面编程(AOP)机制。DI通过配置管理对象依赖关系,降低组件耦合;AOP支持横切关注点(如日志、事务)的模块化封装,提升系统可维护性。 阅读详情

相关推荐

AutoCAD矢量数据导出全攻略:GIS4CAD插件一键转shp/mdb/kml(附安装包)

本文详细介绍了GIS4CAD插件如何高效解决AutoCAD矢量数据向GIS格式转换的难题。通过一键操作,用户可将CAD中的规划图、地形图等无损转换为行业标准的shp、mdb、kml等多种格式,并确保属性完整与坐标准确。文章提供了从插件安装、数据准备到实战导出的全流程指南,是城市规划、测绘等领域专业人士提升数据互操作效率的必备攻略。

a2b3c4d5e的博客 283

Struts调用Spring服务类的三种方法

用SSH做了几个项目,现在总结一下Struts   Action中调用Spring   Service的方法,大家有好的实现,请继续补充:1.老爸操持型  这种类型,即是在BaseAction中提供一个getBean(String   beanName)的父类方法,业务Action   在需要Serivce时,调用父类的getBean()得到Object型的Service,再Cast。

在水一方 747

Mid-360与FAST-LIO2实战:从点云采集到高精度建图全流程解析

本文详细解析了使用Livox Mid-360激光雷达与FAST-LIO2算法实现高精度实时建图的全流程。内容涵盖硬件准备、软件环境搭建、算法部署配置、数据采集实战,并重点探讨了多楼层场景下的参数调优与误差抑制策略,为机器人及无人机三维感知应用提供了实用指南。

prometheus9mon的博客 414

Spring AOP与struts1.x,struts2.x的结合

spring AOP用于做权限拦截是一个很好的选择.spring AOP其拦截的原理就是生成目标类的代理类对目标类应用通知(advice) 通知类型有: 前置通知 后置通知 最终通知 例外通知 环绕通知 由各种通知的特点可知,只有环绕通知才适用于对目标类方法实施拦截。 spring AOP生成代理类是通过JDK提供的Proxy这个动态代理类或CGLib生成动态代理,缺省情况

云原生之家 2378

智能体在车联网中的应用:一份详尽到每日的100天学习路线图

这100天的旅程,是一次对毅力、学习方法和工程实践能力的综合考验。它不仅关乎掌握一系列技术点,更关乎培养解决复杂系统性问题的思维模式——将宏观的交通需求分解为微观的智能体决策,再通过多智能体协同涌现出宏观的智能行为。当你完成这份大纲时,你将拥有的不仅是一个项目作品集,更是一套应对“智能体+车联网”乃至更广泛AI+垂直领域挑战的方法论。未来已来,期待你成为构建智能交通新生态的关键贡献者。

IT深耕十余载,大道之简 1334

人工势场法三大致命缺陷?我用ROS+Gazebo做了组对比实验

本文通过ROS与Gazebo仿真实验,深入剖析了人工势场法(APF)在机器人路径规划中的三大经典问题:局部最小值、目标不可达和路径震荡。文章不仅复现了这些缺陷,还对比测试了虚拟目标点法、改进斥力场及运动平滑等主流改进方案,为工程选型提供了基于数据的实用建议。

dapp9builder的博客 219

Struts1.x/2.x 与 Spring集成方式

struts1.x与spring集成方式 方式一:Action交给spring管理,将业务类注入action struts配置: forward name="success"path="/result.jsp"/> /action spring配置: !--这里SearchAction继承了DelegatingActionProxy--

ETHAN IN IT 803

网络协议——Modbus-RTU

网络协议——Modbus-RTU,简介、消息格式、Modbus寄存器种类说明、功能码01H、功能码02H、功能码03H、功能码04H、功能码05H、功能码06H、功能码0FH、功能码10H。

计算机硕士的博客 9904

spring与struts1.x整合

s此篇文章为转载,留作记录,spring和struts1.X版本的集成有三种方式,而Struts 2(或者叫做WebWork 2),只需要在struts.prperties中加入struts.objectFactory=spring,指定spring作为Struts的bean工厂就可以了 Sping和Struts1.X集成的三种方法:    1,使用Spring 的 ActionS

mingzidaodiduochang的专栏 434

电压抬升电路设计

一、实验目的 掌握集成运放电压放大电路设计基本方法。 掌握基本仪器使用方法(电源、信号发生器、示波器)。 二、实验内容及结果 实验内容 基于集成运放设计一传感器信号采集电路。传感器输出信号在±50mV,频率为100Hz以内,模数转换器允许输入电压在0~5V,要求设计传感器与模数转换器之间的信号采集电路,实现传感器信号放大10倍,并适合模数转换器的输入。模数转换器的输入电阻为1KHz,设计电路时,可使用1KHz电阻作为信号采集电路负载,代替模数转换器。 实验具体要求如下: (1)确定电路形式,说明电压转

Safaearth的博客 4万+

127.手机防回滚机制(Anti-Rollback)详解|efuse熔丝原理与降级绕过方案

手机刷机与维修技术指南 本文针对电子工程师和维修人员,详细介绍了主流手机品牌(高通、联发科、苹果)的刷机原理与维修方法。内容包括三大平台的刷机协议差异、关键操作模式(Fastboot/DFU/EDL)、分区表修复等核心技术,并提供了完整的Python自动化刷机脚本。文章重点解决系统崩溃、基带丢失、分区损坏等常见故障,涵盖从环境搭建到具体操作的全流程指导,所有指令均经过实测验证。适用于专业维修场景下的跨品牌设备修复需求。

2601_95651806的博客 292

Spring分别与Struts1.x 和Struts2.x集成方法

[align=center][size=xx-large][b][color=red]Spring分别与Struts1.x 和Struts2.x集成方法[/color][/b][/size][/align] 1.整合struts1: a.可以通过action继承spring提供的ActionSupport来获得spring中的bean, b.配置struts的过程处理器cotro...

mohaiyong的专栏 141

11、牛转录组分析的实用生物信息学流程

本文详细介绍了一套实用的牛转录组分析生物信息学流程,涵盖从数据提取、基因组索引生成、读取比对到单样本表达分析及差异表达分析的完整步骤。使用Angus和Brahman牛的RNA-seq数据作为示例,介绍了HTSEQ、featureCounts和StringTie等工具在基因表达计数中的应用,并结合edgeR和limma进行差异表达分析。文中提供了详细的命令行与R代码示例,包含常见问题解答与关键注意事项,帮助研究人员高效、准确地完成转录组数据分析。

ios99的博客 111

Spring、Spring MVC、Struts2、Strut1(转加整理)

SpringSpring是一个轻量级的DI和AOP容器框架。轻量级 轻量级重量级某种程度上是以启动程序需要的资源来决定。比如,EJB启动的时候,需要消耗大量的资源,内存,CPU等,所以是重量级。而Spring则不,所以是轻量级框架。专业点说就是量级主要是看对容器的依赖性所决定的,依赖性越小,越轻量. (本人认为轻量级判断标准,是其初始化时所需的资源多寡、运行或者开发过程中程序依赖框架程度、

worthliu的博客 1129

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

struts1.x、struts2.x、Spring MVC原理总结

Struts1原理 初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象。(面向对象思想) 发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web

worthliu的博客 1199

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Struts2 与 Spring整合

Struts2 与 Spring整合 利用Spring 的 IOC/AOP 功能可以很方便的管理软件的业务层和控制器. Struts2 提供了 Struts2-spring-plugin插件, 可以自动的将Struts2 和Spring进行整合, 整合之后Struts2可以利用Spring作为工厂, 生产Struts2控制器实例 整合的作用: 1.利用Spring管理Action对象 2....

荒的博客 366

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Struts1.整合Spring的三种方法

下面的是STRUTS1 与 SPRING的结合。 使用 Spring 的 ActionSupport 类整合 Structs1.X, 使用 Spring 的 DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor,将 Struts Action 管理委托给 Spring 框架装载应用环境:      无论您使用哪种技术,都需要使用

huanghm88的专栏 2345

Spring3.x整合Struts2.3.x

序号 名称 描述 1 struts2-spring-

John的专栏 476

Spring 利用MyEclipse整合spring与Struts2.x

1.为项目添加Struts2.x的开发支持; 添加支持的时候一定要选择好相应的开发包,因为需要整合Spring问题。 右键项目: 2.Spring如果要想在WEB中使用,那么必须为其添加一个监听器; 名称:org.springframework.web.context.ContextLoaderListener Myelips...

抛弃幻想,准备斗争 477

在Web层集成Struts2与Spring

最近学习传智播客的巴巴运动网教程,在集成Struts与Spring时,遇到很多麻烦,在此记录,希望对以后遇到同样问题的人有所帮助。教程中集成的是Struts1,我选择的是Struts2。两者还是有所不同的。比如,默认情况下,Struts1的action使用单例模式......

Lue 1829

Struts2.x和1.x和SpringMVC各自的优缺点

strust1 和strust2 区别 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现...

Lin 的博客 538

struts1.x、hibernate和spring2.x集成方式

 1.struts与spring集成Spring 和 struts 整合的四种方式。1.使用Spring 的 ActionSupport 2.使用Spring 的 DelegatingRequestProcessor 类。3.全权委托。org.springframework.web.struts.DelegatingActionProxy4.使用 org.springframewo

wangyu937的专栏 1462

Struts 2.5 与 Spring MVC 5.3 请求处理机制对比:从 2 个核心流程看性能差异

本文深入对比了Struts 2.5与Spring MVC 5.3的请求处理机制,从架构设计、核心流程到性能实测进行全面分析。重点解析了FilterDispatcher与DispatcherServlet的差异,以及在高并发场景下的性能表现,为Java Web框架选型提供数据支持。

weixin_30388677的博客 272

Spring整合Hibernate Struts1.x Struts2.x的配置文件

这是最近整理的Spring整合Hibernate Struts1.x Struts2.x的相关配置文件,好的话大家拿去用,有什么不妥的地方欢迎大家批评指正!Spring + hibernate +struts一、spring对持久化的支持    1、Spring的数据访问设计思想(DAO、模板方法)    2、数据源配置:        方式一:Spring内置实现 D

摩西的博客 爱it 爱生活 爱折腾 1827

java struts1_Struts1.X与Spring集成

spring+struts(第一种方案)集成原理:在Action中取得BeanFactory,通过BeanFactory取得业务逻辑对象,调用业务逻辑方法。一,新建一个项目Spring_Struts_01二,步骤1、spring和Struts的依赖包配置*Struts(1)拷贝Struts和jstl的依赖包(2)在web.xml文件中配置ActionServletxmlns="http://jav...

weixin_39655085的博客 234

Struts 2.x简介

前提是:Struts1.x和Struts2.x没有任何的关系,属于两个独立的版本,那么为什么会出现两个独立的版本原因还是在于Struts1.x的设计结构上.在成名的MVC开发框架里面,Struts最早出现的,但是由于最初的设计环境没有考虑到这么复杂,所以来讲到了今天与其他框架整合会出现非常麻烦的问题,而且也存在有性能问题,同时自己本身的设计结构也出现了混乱,例如:如果想要使用验证框架(无用)那么必...

抛弃幻想,准备斗争 471
上一篇: SQL Server 分页语句
下一篇: 批量删除 desktop_.ini 文件
getdate
博客等级 码龄19年 61粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值