サーブレットにおけるSessionスコープの適切な破棄タイミング(invalidate()メソッドの記述場所)が判らず困っています。
例えば、ユーザーの登録機能を実装する上で、下記ソースコードのように登録処理を行い登録確認画面(jsp)に遷移するサーブレットを用意するとき、どのタイミングでinvalidate()メソッドを書くべきでしょうか。
###登録サーブレット
Java
1 HttpSession session = request.getSession(); 2 User user = (User)session.getAttribute("user"); 3 4 // 登録処理 5 6 RequestDispatcher dp = request.getRequestDispatcher(jspPath); 7 dp.forward(request, response); 8 9 session.invalidate();// 実行されるか? 10}
###登録確認画面(jsp)
html
1<head> 2<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 3<title>登録完了画面</title> 4</head> 5<body> 6 7内容を登録しました。<br> 8<br> 9<br> 10社員番号: ${user.no}<br> 11<br> 12名前: ${user.name}<br> 13 14</body> 15</html>
質問内容は、
forward後にinvalidate()メソッド(若しくはその他の実行処理)を記述したとき、それらは実行されるか。解決済み- 上記1が実行されない場合、jspに処理を移した後にsessionスコープの破棄を行いたい場合はどういった方法があるか。sessionスコープの破棄はどのタイミングで行うべきか。
- テストケース等でスコープが適切に破棄されているかどうかの確認を行う方法はあるか。
の3点です。よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/06 04:52 編集