项目05年正式上线,所用struts框架版本较低,在此环境实现aop的方法如下:
步骤一:下载saif插件,放置到WEB-INF\lib下面。见附件
步骤二:在struts-config.xml中配置
<plug-in className="net.sf.struts.saif.SAIFPlugin">
<set-property property="interceptor-config"
value="/WEB-INF/interceptor-config.xml" />
</plug-in>
步骤三:在WEB-INF目录中增加文件interceptor-config.xml
<?xml version="1.0"?>
<interceptor-config>
<interceptor name="LoggerManagerInterceptor" type="com.huawei.netforce.log.interceptor.LoggerManagerInterceptor"/>
<default-interceptors>
<interceptor name="LoggerManagerInterceptor"/>
</default-interceptors>
</interceptor-config>
步骤四:实现拦截器ActionInterceptor
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import net.sf.struts.saif.ActionInterceptor;
public class LoggerManagerInterceptor implements ActionInterceptor
{
private static final Logger logger = Logger.getLogger(LoggerManagerInterceptor.class);
public void beforeAction(Action action, ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
{
logger.debug("LoggerManagerInterceptor before execute");
logger.debug("LoggerManagerInterceptor before execute End.");
}
public void afterAction(Action action, ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
{
System.out.println("LoggerManagerInterceptor After execute");
System.out.println("LoggerManagerInterceptor After execute End.");
}
}
分享到:
相关推荐
在Struts2中,拦截器就是实现AOP的一种方式。 **Struts2 拦截器**是在Action执行前后插入的代码片段,它们按照定义的顺序组成一个拦截器链。每个拦截器都有机会处理请求,决定是否允许Action执行,以及如何处理...
### Struts框架与AOP概念 Struts框架作为Java Web开发中的一个重要组成部分,自其诞生以来,便在企业级应用开发中占据了一席之地。然而,对于面向切面编程(Aspect Oriented Programming,简称AOP)的支持,Struts...
struts aop日志系统,struts aop日志系统
这篇博客文章将探讨如何模拟Struts2的AOP实现。 AOP的核心概念是切面(Aspect)、连接点(Join Point)、通知(Advice)和切入点(Pointcut)。在Struts2中,这些概念通过拦截器(Interceptor)来实现。拦截器是...
在这个"spring和struts的整合-aop的使用"主题中,我们将深入探讨如何将Spring与Struts2集成,并利用Spring的AOP实现日志记录。 首先,整合Spring和Struts2的关键在于配置。通常,我们需要在Struts2的配置文件...
在Spring框架中,AOP通过切面(Aspect)和通知(Advice)来实现,切面定义了关注点的结构,而通知则是实际执行的代码。 在这个示例中,我们可能会创建一个切面类,用于处理日志记录。切面类会包含一个或多个通知...
在"Spring+proxool+hibernate+struts2+aop"的整合中,Spring负责整体的依赖管理和事务控制,Struts2处理请求转发和视图展示,Hibernate处理数据库操作,而AOP则用来实现跨切面的关注点。 在提供的"Spring+proxool+...
它继承了 Struts 1 的优点,并引入了许多改进,如拦截器机制,使开发者可以更加灵活地处理请求和响应。Struts 2 与 Spring 的整合提供了更强大的功能,例如利用 Spring 的 DI 来管理 Struts 2 的动作类,以及事务...
**Spring+Proxool+Hibernate+Struts2+AOP整合详解** 在Java Web开发中,Spring、Proxool、Hibernate、Struts2和AOP(面向切面编程)是常用的框架和技术,它们各自承担着不同的职责,组合使用可以构建出高效、可维护...
在这个"用struts1实现的增删改查功能"的例子中,开发者结合了Struts1、Hibernate和Spring这三大流行框架,以实现对数据库数据的基本操作。以下将详细介绍这些技术及其整合方式。 1. **Struts1框架**:Struts1是...
在Struts2中实现AOP主要通过自定义拦截器来完成。首先,我们需要创建一个实现了Interceptor接口的类,然后在这个类中定义before()和after()方法,分别对应拦截器在Action执行前和后的操作。接下来,我们需要在struts...
在Struts1中,我们可以使用Spring AOP或者AspectJ等库来实现AOP,这样我们可以在不修改业务代码的情况下,插入权限检查的逻辑。例如,我们可以通过定义一个切面,在请求进入控制器之前检查用户角色,如果用户无权...
Struts2的动作类通常会注入Spring管理的服务层对象,而这些对象的事务管理可以通过Spring的AOP来实现。Hibernate的SessionFactory也会在Spring中被声明和初始化,以便在需要时获取Session对象进行数据库操作。 5. *...
在Struts1中,拦截器(Interceptor)是实现业务逻辑与表现层解耦的重要组件,它允许在动作执行前后插入额外的功能,比如日志记录、事务管理、权限控制等。 标题中提到的"struts1实现拦截所用的jar包"主要涉及以下几...
描述中提到的 "aopalliance-1的jar包跟struts跟spring的整合包" 暗示了这个压缩包包含了AOP Alliance 1.0的JAR文件,以及Struts 2与Spring框架的整合插件。Struts 2 是一个流行的企业级MVC框架,而Spring是一个全面...
Struts和Spring是两个在Java Web开发中广泛使用的框架,它们分别是MVC(Model-View-Controller)架构的实现和依赖注入(DI)/面向切面编程(AOP)的工具。邮件发送功能在Web应用中很常见,比如用于验证码验证、通知...
【AOP下的权限控制实现】 面向方面的编程(AOP)是一种强大的编程范式,它针对传统面向对象编程(OOP)在处理横切关注点时的局限性进行了优化。横切关注点指的是那些贯穿多个模块的功能,如权限控制、日志记录、...
7. 国际化和异常处理:Struts1 有内置的国际化和异常处理机制,但也可以利用 Spring 的 AOP 实现更细粒度的控制。 8. 测试与调试:整合完成后,进行单元测试和集成测试,确保各个组件能正常协作。 以上就是 Struts...
同时,Struts2的拦截器链可以通过Spring的AOP机制进行扩展,以实现更灵活的功能。 然而,当在AOP中遇到问题时,可能的原因有以下几点: 1. **配置错误**:确保`struts.xml`和`applicationContext.xml`中的配置正确...
1. **用户认证和授权**:Struts1的拦截器可以实现登录验证,Spring的AOP可以进行权限控制。 2. **新闻分类管理**:通过Hibernate3,开发者可以轻松地创建、更新和删除新闻类别。 3. **新闻发布和检索**:使用...