既存のJavaサイトは、Tomcatの「/」の下で実行されるように設計されており、「/ dir / dir/page」のような固定絶対パスへの特定の参照が多数あります。
これをJavaEEパッケージに移行したい場合、サイトはコンテキストルートで実行する必要があります。たとえば、「/ dir / dir/page」は「/my-context-root/ dir / dir/page」になります。
これで、コンテキストルートはServletRequest.getContextPath()を使用して簡単に実行できますが、それでも、大規模なコードベースを移行するために多くのコード変更が行われることを意味します。これらの参照のほとんどは、リテラルHTMLです。
サーブレットフィルターを使用して、出力されたHTMLを書き換えてみましたが、これは問題なく機能しているようです。しかし、それはある程度のオーバーヘッドをもたらし、私はそれを恒久的な解決策とは見なしません。( サーブレットフィルターのアプローチについては、EnforceContextRootFilter-1.0-src.zipを参照してください)。
この問題を解決するためのより良いアプローチはありますか?私が見逃している明らかなものはありますか?すべてのコメントに感謝します!