如何解决request.getSession()。getId()和request.getSession(false)之间的区别??
HttpSession session =
在服务方法内部,我们请求会话,并且所有事情都会自动获取,就像创建HttpSession对象一样。无需生成唯一的会话ID。无需创建新的Cookie对象。一切都会在后台自动发生。
request.getSession();
调用getSession()
请求对象的方法后,容器将立即创建会话的新对象,并生成一个唯一的会话ID来维护会话。该会话ID被传输回响应对象,以便每当客户端发出任何请求时,它也应将会话ID与请求对象附加在一起,以便容器可以标识该会话。
request.getSession(false)
:此方法将检查请求的会话是否已经存在。如果存在,则它将返回已经存在的会话。如果此请求尚不存在会话,则此方法将返回NULL,这意味着该方法表示该请求先前没有会话。
解决方法
这些通话实际上对会话意味着什么?
System.out.println("print1: "+request.getSession().getId());
System.out.println("print2: "+request.getSession(false));
输出值
print1: D94146A347D95563186EB7525726336B
print2: org.apache.catalina.session.StandardSessionFacade@d52411
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。