request.getSession(boolean create)的正確使用姿勢


javax.servlet.http.HttpServletRequest 中有一個創建session會話的方法

 
         

/**
 * 如果create設置true,返回當前的HttpSession,如果沒有會話,創建一個新的會話
 * 如果create設置false,如果當前有會話那就返回,如果沒有會話,就返回null
 */
public HttpSession getSession(boolean create);

/**
 * 等同於getSession(true);
 */
public HttpSession getSession();

 

使用要點:

1、創建會話場景

這種邏輯放在登陸、授權業務中,用戶登陸成功之后,自然而然的需要保持用戶當前的訪問會話。

此時使用getSession(true),或者getSession(),然后session可以放入具體的attribute,更詳細描述當前用戶會話信息。

 

2、查找當前會話

如果我們當前邏輯需要查找會話,如果會話為空,直接拋出會話不存在,權限不足的信息。

這時使用getSession(false),即查找當前的會話,沒有會話就是返回為空。避免了使用getSession()又會創建一次多余的沒有經過授權的會話。

使用getSession(false)得到當前session之后,再進一步獲取當前的attribute,做下一步業務處理。

 

 

全文完。


免責聲明!

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



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