2

jsessionidを含むURLを使用しています。

http:// localhost:8080 / myservlet; jsessionid = 123

しかし、HttpServletRequestでセッションIDを読み取ると、値が123になることはなく、代わりに生成されたセッションIDになります。B663A96D3FBC84B4A427C0810EAB9073。

jsessionidが無視されるのはなぜですか?

4

2 に答える 2

5

HttpSessionこれは、サーバーのメモリに具体的なオブジェクトが存在しないセッションIDを指定したためです。つまり、指定されたセッションIDは不明/無効です。HttpSessionサーバーのメモリ内の有効な既存のオブジェクトを参照するセッションIDを指定する必要があります。

現在サーバーのメモリに有効なIDあると仮定すると、次のリンクが機能し、エンドユーザーに正確にアクセスできるようになります。HttpSessionB663A96D3FBC84B4A427C0810EAB9073HttpSession

http:// localhost:8080 / myservlet; jsessionid = B663A96D3FBC84B4A427C0810EAB9073

于 2011-09-12T15:17:00.687 に答える
0

私の推測では、最近のほとんどのアプリケーション サーバーは、URL の書き換えではなく、セッション トラッキングにデフォルトで Cookie を使用するようになっていると思います。そのため、リクエストの URL にセッション Cookie と JSESSIONID の両方が含まれている場合、おそらく Cookie からのものを使用します。これを構成する方法については、アプリケーションサーバーのドキュメントを確認してください。

于 2011-09-12T14:33:09.273 に答える