美文网首页
getSession()、getSession(false)、g

getSession()、getSession(false)、g

作者: 苏小小北 | 来源:发表于2018-11-12 17:58 被阅读0次

做java项目中有的时候需要通过cookie-session的方式来通信,cookie有个JSESSIONID的参数值,JESSIONID对应服务器中的session,session中保存了用户的各种信息和状态,通过cookie-session来实现登录状态的。


JSESSIONID

问题就是,当用户登录后,需要将JSESSIONID返回给前端,下次请求将会带着cookie信息发送请求。可是,怎么获取session id呢。
在HttpServletRequest对象有两种方式来获取id

1.HttpServletRequest.getSession().getId()

先通过HttpServletRequest获取HttpSession对象,然后再获取id

        HttpSession session = request.getSession(true);
        String sessionId = session.getId();

getSession()与getSession(true)相同,与getSession(false)区别是:
getSession(true)会先判断当前请求是否有session,没有就创建一个新的
getSession(true)当前请求不存在session时,就返回null
如果想要获取请求中的用户信息,就用getSession(true)。
如果想要返回当前请求后生成sessionId,就用getSession(false)。

2.HttpServletREquest.getRequestedSessionId()

        String sessionId = request.getRequestedSessionId();

getRequestedSessionId()是获取请求中预期的sessionId,也就是通过cookie中JESSIONID信息来获取session。
如果想要获取请求中cookie信息,就用getRequestSessionId()

相关文章

网友评论

      本文标题:getSession()、getSession(false)、g

      本文链接:https://www.haomeiwen.com/subject/epicfqtx.html