アプリケーションにセッションの有効期限を実装しようとしています。私はMVCパターンに従います。web.xml ファイルでタイムアウトを設定しました。これは私のセッション有効期限の実装です
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
HttpSession session = request.getSession(false);
if (session != null)
{
// controller code
}
else
response.sendRedirect("JSP/HomePage.jsp?message=Your Session Has Expired");
}
私の知る限り、要求されたセッションがまだ作成されていない場合、request.getSession(false) は null オブジェクトを返します。
上記のコードは、(つまり、HomePage.jsp にリダイレクトする) 場合にうまく機能し
ます
。
今私の問題は、(セッションが期限切れになった後)1つのjspページでアンカータグリンクをクリックすると、新しいjspページに移動し、フォームリクエストを作成すると、コードがHomePage.jspに転送されないことです。
HttpListenerの助けを借りて、新しいセッションが作成され、新しい jsp ページがナビゲートされたときに request.getSession(false) が新しく作成されたセッションを返すことを確認できます (ただし、最初の 2 つのケースでは、 request.getSession(false) は null を返します)。 )。
誰かが私がしていることを教えてもらえますか? そして、私は今どのように進めるべきですか?