初回アクセス時になどで生成されるURLに"jsessionid="が付加されてしまう問題ですが、一応解決しました。Strutsのタグのクラスを継承して独自タグを作りました。URL文字列をコンテキストに出力する部分をオーバーライドし、String#replaceAll(";jsessionid=.*(\\?|$)", "")しています。うーん、ad-hocだ。 色々調べた結果、javax.servlet.HttpServletResponse#encodeURL()が諸悪の根元のようです。このメソッドの中でCookieの有無を調べ、存在しない場合はURLにセッションIDを付加するという処理が行われています。 結局、「Cookieが送られてこなかったら、そのリクエストに対するレスポンスコンテンツに含まれるリンクにはセッションIDを付加することでセッションを維持しよう」というJava Servl