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,做下一步業務處理。
全文完。