注:aop = aspect = 切面
在aspect 中一般是做: 事务控制、日志、权限控制 等等,这些场景。
在aop切面类中,直接使用ServletActionContext.getRequest();的方法获取request对象可以成功,并且能够设置value
但是在别的地方读取,就读取不到。这个是为啥,有待研究。我猜测,可能是在aop中获取的servlet对象与实际请求的servlet对象不是同一个。
但是可以利用RequestContextHolder获取
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes)ra;
HttpServletRequest request = sra.getRequest();