现有的 Java 站点被设计为在 tomcat 上的“/”下运行,并且有许多对固定绝对路径的特定引用,例如“/dir/dir/page”。
想要将此迁移到 Java EE 打包,站点需要在上下文根下运行,例如“/dir/dir/page”变为“/my-context-root/dir/dir/page”
现在,使用 ServletRequest.getContextPath() 可以轻松地获取上下文根,但这仍然意味着要迁移大量代码库需要进行大量代码更改。这些引用中的大多数都是文字 HTML。
我已经尝试使用 servlet 过滤器对出站 HTML 进行重写,这似乎工作正常。但它确实引入了一些开销,我不认为它是一个永久的解决方案。 (有关 servlet 过滤器方法,请参阅EnforceContextRootFilter-1.0-src.zip )。
有没有更好的方法来解决这个问题?有什么明显的我失踪了吗?所有评论表示赞赏!