PRODUCT: EZServlet Package

Tomcat 4などとの組み合わせで、セッションIDクッキーが送出されないケースがあることについて

Tomcat 4などとの組み合わせで、プロパティEZServlet.OrganizeCookieがtrue(デフォルト)で使用する場合、セッションIDの発行と同じリクエストでEZServletContext#addCookie(String,String)などで、クッキーの追加を行うと、セッションIDのクッキーをセットするためのヘッダが送出されなくなります。

EZServletではいくつかのサーブレットエンジンのクッキーヘッダ送出に関する不具合をカバーするため、プロパティEZServlet.OrganizeCookieがtrueの場合、独自のロジックでjavax.servlet.http.HttpServletRequest#setHeader(String,String)を呼び出すことで、クッキーヘッダを出力します。しかし、いくつかのサーブレットエンジンでは、この方法でクッキーヘッダを出力すると、そのレスポンスに本来出力されるべきセッションIDに関するクッキーヘッダが出力されなくなるものがあります。

弊社では以下の環境について、不具合を確認しました。

ベンダー 製品
Jakarta Project Tomcat 4.1.12

上記の環境との組み合わせで使用する場合は、プロパティEZServlet.OrganizeCookieを明示的にfalseにセットし、WEBアプリケーションサーバのクッキー送出ロジックを使用することで、この問題を回避できます。

また、以下の環境については、プロパティEZServlet.OrganizeCookieがtrueでも、特に対処することなく問題が発生しないことを確認しました。

ベンダー 製品
Jakarta Project Tomcat 5.0.19
BEA Systems WebLogicServer 8.1
Macromedia JRun 3.1

 

Sun, Sun Microsystems�͕č�����т��̑��̍��ɂ�����č�Sun Microsystems, Inc.�̏��W�܂��͓o�^���W�ł��B Java����т��̑���Java���܂ޕW�͂́A�č�Sun Microsystems, Inc.�̏��W�ł���A���Ђ�Java�u�����h�̋Z�p���g�p�������i���w���܂� �B


(C)1998- ngMAT Corporation
All RightsReserved.