Spring中獲取Session的方法匯總


Spring:

web.xml

<listener>
  <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

在普通bean中使用:

@Autowired  
private HttpSession session;  
  
@Autowired  
private HttpServletRequest request;  

在普通類中使用:

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

Spring Boot:

和上面寫法一致。

Spring MVC:

必須要有一個request的引用,否則是取不到的。request可以通過控制器傳入,有了request自然就可以取到Session了,或者可以通過Spring的WebUtils取Session數據。

攔截器舉例:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    String context = (String) WebUtils.getSessionAttribute(request, "context_key");
    return context != null ;
}

普通類:

只能在Servlet調用參數,傳遞過去。

 

參考:

http://blog.csdn.net/qq_15099611/article/details/50886697


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM