handlerinterceptor是怎么在controller之前调用的?_springmvc中aop对controller的切面编程

f0c5c9ac77d011441d0ee8d4b2d6a1c9.png

概述:

最近在开发一个基础应用服务系统,利用加密的token标识来校验访问者的身份。几乎每一个接口都需要校验token。故打算采用aop面向切面编程,一次性对所有接口进行身份认证;

遇见的问题:

切面配置没有问题的情况下,junit单元测试调用controller里面的方法,可以触发切点,实现切面编程。但是web部署到tomcat后,直接url访问触发切点失败!

详情描述:

切面类:

import org.aspectj.lang.annotation.AfterReturning;

import org.aspectj.lang.annotation.AfterThrowing;

import org.aspectj.lang.annotation.Aspect;

import org.aspectj.lang.annotation.Before;

import org.aspectj.lang.annotation.Pointcut;

import org.springframework.stereotype.Component;

/**

*

* @Description: TODO( token的校验 )

* @author: mayao

* @date 2016年10月20日 下午5:47:37

*/

@Aspect

@Component

public class UserTokenInterceptor {

//controller包的子包里面任何方法

@Pointcut("execution(public * com.test.controller.*.*(..))")

public void checkToken(){

}

@Before("checkToken()")

public void beforeCheckToken(){

System.out.println("调用方法之前。。。。");

}

@AfterReturning("checkToken()")

public void afterCheckToken(){

System.out.println("调用方法结束之后。。。。");

}

//抛出异常时才调用

@AfterThrowing("checkToken()")

public void afterThrowing()

{

System.out.println("校验token出现异常了......");

}

}

控制器:

/**

*

* @Description: TODO( 请求token )

* @author: mayao

* @date 2016年10月19日 下午5:11:25

*/

@Controller

@RequestMapping("/mayao")

public class TokenController {

@RequestMapping(value="/test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值