spring aspect通知中获取request对象

注:aop = aspect = 切面

 在aspect 中一般是做: 事务控制、日志、权限控制 等等,这些场景。

 

在aop切面类中,直接使用ServletActionContext.getRequest();的方法获取request对象可以成功,并且能够设置value

但是在别的地方读取,就读取不到。这个是为啥,有待研究。我猜测,可能是在aop中获取的servlet对象与实际请求的servlet对象不是同一个。

 

但是可以利用RequestContextHolder获取

 

RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes)ra;
HttpServletRequest request = sra.getRequest();

 


版权声明:本文为weixin_40652498原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。