ブログトップ 記事一覧 ログイン 無料ブログ開設

水まんじゅう

 | 

2011-07-09

java.lang.IllegalStateException: レスポンスをコミットした後でセッションを作成できません

JavaEEを扱っていると何回か見たりするけれども、
此処で言うレスポンスとはHttpServletResponseのこと。
クライアントに返事を返した後にセッションを作成することは出来ない。*1

直すためにはRequestDispatcherを呼び出したりResponseWriter(ResponseOutputStream)に書きだしたりする前に、セッションの作成を終わらせてあげればよい。*2

JavaEEを扱っていると、クライアントとHTTPでやりとりをしているということを意識してない人が多い印象をうける。
ある程度はしっかりと知っておくべきだとは思うけれども、何でもかんでもというのは難しいかな。

本当はJavaが全部隠蔽してくれるといいんだけれども。

*1:セッションの一意性を確保するためにクッキー等を利用するため、クライアントに返事を返した後にセッションを作成してもクライアントにどのセッションを利用すれば良いのかを教えることができない

*2:もちろん他にもありますよ?

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/megascus/20110709/1310183328
 |