注:aop = aspect = 切面
在aspect 中一般是做: 事務控制、日誌、權限控制 等等,這些場景。
在aop切面類中,直接使用ServletActionContext.getRequest();的方法獲取request對象可以成功,並且能夠設置value
但是在別的地方讀取,就讀取不到。這個是爲啥,有待研究。我猜測,可能是在aop中獲取的servlet對象與實際請求的servlet對象不是同一個。
但是可以利用RequestContextHolder獲取
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes)ra;
HttpServletRequest request = sra.getRequest();