0

Web アプリケーションで奇妙な動作が発生しているときに、そのセッションが無効化HttpSession session = request.getSession();され、実行されるたびに再作成されていることがわかりました。アプリケーションが別のサーブレットに組み込まれたSpringコントローラーを呼び出すときに特別に発生していました。

HttpSession javadocに示されているように、セッションは ServletContext です。だから、私は尋ねます:Springコントローラーは異なるサーブレットスコープで実装されていますか? それとも、コントローラが別のサーブレットに実装されているときだけですか? 単一のスコープを維持するように Spring を設定できますか? ありがとう!

編集: 情報の追加: ページにヘッダーとフッターをインポートしていることが問題の原因であるというヒントがあります。Spring によって別のセッションで処理されている要素であることは 90% 確実ですが、この動作を修正する方法は (まだ) わかりません。

4

1 に答える 1

0

セッション、リクエスト、およびレスポンス オブジェクトは、Spring によって作成されません。コントローラーのみがSpringによって作成され、デフォルトではシングルトンです(JVMシングルトンではなく、Springアプリケーションコンテキストシングルトン)。

したがって、セッションの無効化の問題は春の外で発生していると思います。

于 2013-09-16T15:25:34.700 に答える