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,做下一步业务处理。
全文完。
时间: 2024-11-04 15:18:04