Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java web应用程序会话超时后的HttpRequest对象_Java_Jakarta Ee - Fatal编程技术网

Java web应用程序会话超时后的HttpRequest对象

Java web应用程序会话超时后的HttpRequest对象,java,jakarta-ee,Java,Jakarta Ee,我想知道会话超时时请求对象的行为。 更具体地说,我遇到了一个场景,对于这个场景,我无法准确地理解到底发生了什么 情况是这样的, 我有一个带有用户名和密码字段的web应用程序登录页面。我已将我的应用程序的超时时间设置为10分钟。 我在登录页面上15分钟没有做任何事情,因此会话超时 现在在登录时,我输入用户名和密码,然后点击提交。页面正在刷新而不是提交 因此,我可以说,在会话超时时,请求对象也会超时吗?由于您没有向问题添加任何代码,我的解释应该是有保留的 IMHO,当客户机请求登录页面时(在他提交登

我想知道会话超时时请求对象的行为。 更具体地说,我遇到了一个场景,对于这个场景,我无法准确地理解到底发生了什么

情况是这样的,

我有一个带有用户名和密码字段的web应用程序登录页面。我已将我的应用程序的超时时间设置为10分钟。 我在登录页面上15分钟没有做任何事情,因此会话超时

现在在登录时,我输入用户名和密码,然后点击提交。页面正在刷新而不是提交


因此,我可以说,在会话超时时,请求对象也会超时吗?

由于您没有向问题添加任何代码,我的解释应该是有保留的

IMHO,当客户机请求登录页面时(在他提交登录页面之前),您正在启动会话,并且您已经将其设置为属于超时会话的请求将重定向到登录页面

因此,如果结果不符合你的喜好,你必须改变上面的一些

但是,为了得到更好的答案,您必须向我们展示一些代码

还有你关于请求超时的问题。不,它没有超时。只有在服务器没有及时响应时才会超时(这是另一种超时)

我添加了一些Java代码部分,我正在使用它们来引导属于会话的请求,这些会话在登录页面超时。顺便说一句,我还应该补充一点,不需要会话的请求在重定向之前得到处理

HttpSession session = request.getSession(false);
boolean hasActiveSession;
if (session == null) {
  hasActiveSession = false;
  //...
}
//...
if (!hasActiveSession) {
  request.setAttribute("alert","Your session has timed out");
  request.getRequestDispatcher("/WEB-INF/Login.jsp").forward(request, response);
}

您可能需要发布一些最小的代码,以便更好地举例说明您的问题。仔细阅读“非常感谢努里的回复:”)。因此,即使会话超时,请求也可以由容器提供,对吗?这意味着,若我们以你们为例,若用户的会话超时,那个么用户将被转发到登录页面。现在在登录页面上,用户再次等待15分钟(会话再次超时)。现在用户输入用户名和密码,然后按submit。这个请求是否会被处理,比如说通过一个为登录url模式配置的过滤器?或者一个新的登录请求页面进入容器(导致刷新)?提前感谢。如果您在重定向时打开一个新会话,并且用户再次等待新会话超时,则他将再次被重定向。在您的情况下,为登录页面提供服务真的需要新会话吗?如果没有,则在登录完成后启动一个新会话,并且只重定向应该具有有效会话的请求。