Tsutomu Yano
t_yano****@me*****
2011年 1月 8日 (土) 21:47:22 JST
矢野です。 知る限りで、Wicketでブラウザを閉じたらセッションが維持されない、クッキーが維持されない、という話は聞いたことがないです。特にクッキーに関しては、Wicketは完全にノータッチだと思います。セッション(HttpSession)については、管理しているのはWicketではなく(Tomcatなど)サーブレットコンテナだと思います。Wicketはコンテナの提供するHttpSessionを利用しているだけです。 考えられるのは、河野さんのいうように、自分で発行したクッキーの持続時間が「ブラウザを開いている間」に設定されているのではないでしょうか。CookieのmaxAgeが負の数だと、ブラウザはクッキーを保存しませんので、ブラウザを閉じるとクッキーは消滅します。で、そのクッキーがあることを前提にしている操作はすべて動かなくなるので、連鎖的に、まるでクッキーがすべて消滅したような動作をする可能性はあります。たとえば、ログインクッキーのようなものを発行していて、それが前述のように設定されている場合です。 セッションが維持されないのはちょっと状況がはっきりしませんが、通常、セッション維持クッキーは、サーブレットコンテナで設定した期間は持続します。Tomcatですと30分がデフォルト値だったように思います。 ただ、WicketでIPageSettings#setAutomaticMultiwindowSupport(true)を呼び出している場合、ウインドウ毎に(同じページクラスであっても)異なるページとして情報を維持するので、セッションが切れているように見えるかもしれません(ウインドウを開くたびに新しいページオブジェクトが作られるので)。デフォルトではこの機能はオフですので、何もしていなければ発生しないはずです。また、オンであったとしてもHttpSessionは維持されているはずですので、WicketのWebSessionオブジェクトも維持されているはずです。 いまのところ、分かる範囲ですとこのくらいでしょうか。 --------------------------------------------------- 矢野 勉(やの つとむ) 電子メール: t_yano****@me***** ---------------------------------------------------