<!-- 实现BEFORE通知 配置 -->
<bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"></bean>
<bean id="checkCustomerBefore" class="com.egt.struts.action.CheckCustomerAction"></bean>
<bean id="checkCustomerBeforeAdvisor"
class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref bean="checkCustomerBefore" />
</property>
<property name="patterns">
<value>.*.execute</value>
</property>
</bean>
CheckCustomerAction 方法
package com.egt.struts.action;
import java.lang.reflect.Method;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
import org.apache.struts.action.ActionMapping;
import org.springframework.aop.MethodBeforeAdvice;
import com.egt.repository.Customer;
public class CheckCustomerAction implements MethodBeforeAdvice {
private Logger logger = Logger.getLogger(this.getClass().getName());
public void before(Method method, Object[] args, Object target)
throws Throwable {
System.out.println("test1");
logger.log(Priority.INFO, "customer权限控制拦截...");
System.out.println("test2");
HttpServletRequest request = (HttpServletRequest) args[2];
HttpServletResponse response = (HttpServletResponse) args[3];
HttpSession session = request.getSession();
ActionMapping mapping = (ActionMapping) args[0];
if (session.getAttribute("customer") == null) {
System.out.println("test3");
try {
String url = request.getContextPath() + "/index.jsp";
response.sendRedirect(url);
} catch (Exception e) {
System.out.println("test4");
}
}
}
}
如果我们每次调用到action里面的execute方法时就会调用拦截器进行拦截判断,
public void before(Method method, Object[] args, Object target)
method指拦截的方法,Object[] args指拦截的方法对应的参数,target指拦截的对象
分享到:
相关推荐
项目中含有一整个springboot实现aop的功能,在拦截的方法形式上有两种一种是通过切点设置为拦截某个包路径下面的类中的所有方法;还有一种是基于某个自定义注解的.
spring-aop-1.1.1.jar spring-aop-1.2.6.jar spring-aop-1.2.9.jar spring-aop-2.0.2.jar spring-aop-2.0.6.jar spring-aop-2.0.7.jar spring-aop-2.0.8.jar spring-aop-2.0.jar spring-aop-2.5.1.jar spring-aop-...
开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE...
springaop拦截controller日志
spring aop切面拦截指定类和方法实现流程日志跟踪 一般情况下,在不侵入业务代码的情况下,需要做流程日志跟踪是比较合理的 采用springaop切面思想
spring aop 拦截 实例spring aop 拦截 实例spring aop 拦截 实例
Spring 实现AOP需要三个第三方的jar包,分别是aspectjrt.jar,aspectjweaver.jar,aopalliance-1.0.jar
Spring AOP 拦截器 Advisor Spring AOP 拦截器 Advisor
Spring MVC AOP通过自定义注解方式拦截Controller等实现日志管理, springMVC里做添加AOP拦截,用于捕获异常。
赠送jar包:spring-aop-5.2.0.RELEASE.jar; 赠送原API文档:spring-aop-5.2.0.RELEASE-javadoc.jar; 赠送源代码:spring-aop-5.2.0.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-aop-5.2.0.RELEASE.pom;...
死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序
springboot spring aop 拦截器 注解方式实现脱敏(涉及到:pom.xml -->application.properties --->启动类-->拦截器)
Spring Mvc AOP通过注解方式拦截controller等实现日志管理
spring aop 拦截实例,下载下来直接就可以用了,很好很方便。
赠送jar包:spring-aop-5.0.8.RELEASE.jar; 赠送原API文档:spring-aop-5.0.8.RELEASE-javadoc.jar; 赠送源代码:spring-aop-5.0.8.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-aop-5.0.8.RELEASE.pom;...
spring中AOP中标签加载通知,spring中AOP中标签加载通知spring中AOP中标签加载通知spring中AOP中标签加载通知,spring中AOP中标签加载通知
赠送jar包:spring-aop-5.0.10.RELEASE.jar; 赠送原API文档:spring-aop-5.0.10.RELEASE-javadoc.jar; 赠送源代码:spring-aop-5.0.10.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-aop-5.0.10.RELEASE....
aopalliance.jar、spring-aop-4.1.6.RELEASE.jar、spring-aspects-4.1.6.RELEASE.jar
spring-aop-2.0.8.jar
ssh2登陆+spring aop做拦截