アプリケーションに接続すると、Web ブラウザーのセッションが開始されます。非アクティブの最大期間 (30 分) が経過すると、Tomcat はサーバー上のセッションを閉じます。
このタイムアウトは、現在のページを更新したり、アプリケーションの制御下にある他のページをナビゲートしたりするなど、Web ブラウザーでアクティビティが発生するたびにリセットされます。ブラウザー ウィンドウを開いたままにしておくだけでは、ブラウザー上でアクティビティが生成されないため、セッションを開いたままにすることはできません。
説明したように、web.xml ファイルで設定できます。
これは、サーブレット コンテナがこのセッションを無効にするまでのクライアント リクエスト間の時間を秒単位で指定しsessionます。setMaxInactiveInterval(int interval)
ブラウザでCookieが有効になっていることを確認する必要があります。それ以外の場合は、リクエストごとに新しいセッションを作成します。HttpServletResponse.encodeURL(String url)アプリケーションの URL ごとにを呼び出す必要があります。APIドキュメントから:
「指定された URL をセッション ID を含めてエンコードします。エンコードが不要な場合は、URL を変更せずに返します。このメソッドの実装には、URL でセッション ID をエンコードする必要があるかどうかを判断するロジックが含まれています。たとえば、 、ブラウザが Cookie をサポートしている場合、またはセッション トラッキングがオフになっている場合、URL エンコードは不要です。
堅牢なセッション トラッキングを行うには、サーブレットによって発行されるすべての URL をこのメソッドで実行する必要があります。そうしないと、Cookie をサポートしていないブラウザーでは URL 書き換えを使用できません。」