`
- 浏览:
522897 次
- 性别:
- 来自:
北京
-
Struts1.2+Spring2.5+Hibernate3.2 开发时不能用Spring的AOP对继承DispatchAcion的Action里的方法进行拦截
使用SSH组合开发时,在把所有的Action都交给Spring容器进行管理后,如果客户端有请求过来,Struts会根据用户请求的URL从Spring容器中去找对应的Action来处理相应的用户请求,如果我们写的Action类继承的是DispatchAction,就会返回当前继承DispatchAction类的代理对象,在返回的代理对象中会去执行代理对象execute方法 (因为DispatchAction的代理对象继承了我们自己写的类,我们自己写的类又继承了DispatchAction,而DispatchAction又继承了BaseAction,BaseAction又继承了Action,再Action里有execute方法,并且DispatchAction对execute方法进行了重写,所以代理对象里会有execute方法) 。因为Spring的AOP只能对当前类中的方法执行AOP,而不包含他的父类中重写的方法,因为execute类为父类中的方法,所以对execute方法不会执行AOP,因为execute不是我们自己写的类的方法,而是DispatchAction重写它的父类BaseAction的父类Action的execute方法。所以对代理对象的execute是不会执行AOP拦截的,但对我们自己写的所有的类除final方法外,都会去拦截。
在代理对象的execute方法里又执行了目标对象的execute方法,在目标对象的execute方法里通过反射的方法调用了当前类中被请求的方法,在代理对象中这个方法(当前类中被请求的方法)虽然已经被Spring使用了AOP,但是Struts的执行并没有使用这个代理对象,而是用反射技术得到了要访问的方法,所以我们就是设置代理也是没有的。所以说就不会对继承Dispatchacion类的的方法进行拦截。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
Struts2.1、Spring 2.5 和 Hibernate 3.2 是经典的Java Web开发框架组合,用于构建高效、可维护的企业级应用。这个详细例子将深入探讨如何使用这三个框架协同工作,实现数据库的增(Add)、删(Delete)、改(Modify...
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,被称为SSH(Struts2、Spring、Hibernate)集成。这个整合包可能是为了帮助开发者快速搭建基于这些技术的项目环境。 Struts2是MVC(Model-View-...
Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发三大框架,它们的集成应用为开发者提供了强大的模型-视图-控制器(MVC)架构支持,实现了业务逻辑、数据持久化和控制流程的解耦。下面将详细介绍这三个...
Struts2.1、Spring2.5和Hibernate3.3是经典的Java企业级开发框架组合,它们各自在应用程序的不同层面提供了强大的支持。本篇将详细阐述这三个组件的整合过程,以及各自的核心特性。 首先,Struts2是一个基于MVC设计...
这个“struts2+spring2.5+hibernate3.2中文开发手册”是针对这些框架的详细指南,旨在帮助开发者更好地理解和运用这些技术。 Struts2是MVC(Model-View-Controller)架构模式的一个强大实现,它提供了一种用于构建...
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。下面将详细解释这三个框架以及它们如何协同工作。 **Struts2** Struts2是一个基于MVC(Model-View...
Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,通常被称为SSH(Struts2、Spring、Hibernate)集成框架。这个组合在2000年代末到2010年代初广泛应用于构建大型、复杂的企业级Web应用。SSH框架...
Struts2、Spring、Hibernate 和 FreeMarker 是Java Web开发中常用的四大框架,它们结合使用能够构建高效、可维护的企业级应用程序。以下是对这些技术及其整合的详细解释: **Struts2** 是一个基于MVC(Model-View-...
Struts2.0、Spring2.5和Hibernate3.2是Java开发中广泛使用的三大开源框架,它们分别在MVC(Model-View-Controller)架构的不同层面上提供强大的支持,形成了SSH(Struts2 + Spring + Hibernate)集成框架。...
Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,被称为SSH架构。这个架构组合在2000年代末到2010年初非常流行,为大型企业级应用提供了强大的模型-视图-控制器(MVC)支持、依赖注入(DI)以及...
Struts2、Spring2.5 和 Hibernate3.2 是经典的Java Web开发框架组合,它们各自在应用程序的不同层次上提供服务,构建出一个高效且松耦合的系统。在这个"Struts2+Spring2.5+Hibernate3.2 用户登录"项目中,开发者选择...
EXT2.1、Struts2、Spring2.5和Hibernate3.2是四个在Java Web开发中非常重要的技术框架,它们各自负责不同的职责,并且可以协同工作以构建强大的企业级应用。 EXT2.1是一个JavaScript库,主要用于创建富客户端用户...
**jbpm4整合struts2+spring2.5+hibernate3.3** 是一个经典的Java企业级应用集成框架,用于构建业务流程管理系统。jbpm4是Business Process Management(业务流程管理)的一个开源框架,它允许开发者设计、执行、监控...
这个“struts2.1+spring2.5+hibernate3.2项目基本jar包”集合了这三个框架的核心库,为开发者提供了便捷的开发环境。 **Struts2** 是一个基于MVC设计模式的Web应用程序框架,主要用于控制应用程序的流程。Struts2.1...
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。下面将详细解释这三个框架以及它们如何协同工作。 **Struts2** 是一个基于MVC(Model-View-...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在不同的层面提供了解决方案,而SSH(Struts2、Spring、Hibernate)的整合则可以实现一个强大的MVC(Model-View-Controller)架构。这篇内容将详细...
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,被称为SSH。这个整合笔记的第三部分可能涵盖了如何将这三个组件无缝集成到一个项目中的详细步骤。Struts2作为MVC框架负责控制流程,Spring2.5提供...
Struts1.2、Hibernate3.5和Spring2.5是经典的Java企业级开发框架组合,被称为SSH(Struts-Spring-Hibernate)架构。这个框架集合提供了强大的模型-视图-控制器(MVC)设计模式支持,数据持久化以及依赖注入等功能,...
在Java Web开发中,"Eclipse中Struts2+Spring2.5+Hibernate3整合"是一个常见的技术栈,用于构建高效、模块化的Web应用程序。这三个框架分别是:Struts2(MVC框架)、Spring2.5(依赖注入和企业服务框架)和Hibernate...