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();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章