質問が 2 つあります。
JSP に
<%@page session="false" %>
. 私のWebアプリケーションでは、ログイン時にサーブレットから新しいセッションを作成し、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 }