我有两个问题,
当 JSP 具有
<%@page session="false" %>
. 在我的 Web 应用程序中,我在登录时从 servlet 创建一个新会话,request.getSession()
之后使用和设置属性。但是我的 JSP 页面不包含<%@ page session="false" %>
,我使用 JSTL 标记来显示存储在会话和请求中的数据。调试后,我可以看到新会话是随机创建的。如果我添加<%@ page session="false" %>
到 JSP 页面以确保不会创建新会话,会不会有任何影响?另外,我在 web.xml 中设置了 15 分钟的超时时间。通常,如果超过 15 分钟不活动,我的应用程序就会超时。但偶尔,它会在 1 或 2 分钟内超时。我不理解这种奇怪的行为。这是否与正在创建的新会话有关。当它超时时,我看到创建了一个具有不同会话 ID 的新会话。在我的代码中,我检测到超时如下,
if (request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid()) { // redirect to a login page with a message }