[Seasar-user:17177] Re: HttpServletExternalContext から取得した HttpSession が NULL となる
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 4月 3日 (金) 16:00:58 JST
小林 (koichik) です.
Date: Fri, 3 Apr 2009 13:28:49 +0900
From: [E-MAIL ADDRESS DELETED]
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17176] HttpServletExternalContext から取得した HttpSession が NULL となる
> この際に何かをきっかけに、返されたHttpSession が突然NULLとなってしまいます。
これは特定のブラウザとのセッションにおいて
単発で起こるのでしょうか?
それともすべてのブラウザとのセッションで同時に
起こるのでしょうか?
> ■質問
>
> どうようなタイミング、もしくは事象が発生すればHttpSessionがNULLとなるのでしょうか?
HttpServletExternalContext では HttpSession を
HttpServletRequest#getSession() で取得しているので,
Servlet 仕様上は HttpSession が null になることは
ないはずです.
Web コンテナの HttpServletRequest#getSession() が
仕様に反して null を返すとは考えにくいので,
Filter 等でラップしている HttpServletRequest が
null を返している可能性が高いのではないかと思います.
まずは HttpServletRequest#getSession() が
本当に null を返していることを確認して,その
(null を返している) HttpServletRequest が
Web コンテナの提供するものなのか Filter でラップ
されたものなのかを確認してみてください.
> 当システムとしてはExternalContextからのHttpSession取得をやめることでの対応
> を考えておりますが、
HttpServletRequest#getSession() が null を
返しているなら ExternalContext を使わなくても
同じことになるのでは.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内