Jakarta ee 了解HttpSessions和身份验证

Jakarta ee 了解HttpSessions和身份验证,jakarta-ee,cookies,httpsession,Jakarta Ee,Cookies,Httpsession,我一直在使用一个使用基于表单的身份验证的J2EE应用程序。我了解HttpSession对象,以及它们用于存储用户数据购物车的不同用例,例如,因为http是无状态协议 例如,当客户机请求向其购物车添加内容时,将创建一个会话(如果不存在),并在会话中创建或更新购物车。将响应发送回客户端时,称为JSessionID的HTTP cookie是响应的一部分,该cookie存储在浏览器中。因此,当向服务器发出后续请求时,假设浏览器中的cookie未被清除,或者服务器未重新启动,或者会话未超时,则可以定位会话

我一直在使用一个使用基于表单的身份验证的J2EE应用程序。我了解HttpSession对象,以及它们用于存储用户数据购物车的不同用例,例如,因为http是无状态协议

例如,当客户机请求向其购物车添加内容时,将创建一个会话(如果不存在),并在会话中创建或更新购物车。将响应发送回客户端时,称为JSessionID的HTTP cookie是响应的一部分,该cookie存储在浏览器中。因此,当向服务器发出后续请求时,假设浏览器中的cookie未被清除,或者服务器未重新启动,或者会话未超时,则可以定位会话,这就是将“状态性”属性赋予无状态http请求/响应协议的原因

我的问题是:

1当用户登录到使用基于表单的身份验证的应用程序时,是否会自动创建会话

2如果没有,那么由于没有要失效的会话,用户实际注销时会发生什么情况


更一般地说,就基于表单的身份验证而言,我真的在试图了解用户HttpSession和正在“登录”的用户之间是否存在连接。用户可以登录而不进行会话。

这个问题的答案历来依赖于平台。例如,WebSphere不需要用户进行身份验证的会话,但需要使用WAS特定的servlet调用才能注销用户

这最终在Servlet3.1规范JavaEE7中得到了修复