1

我很好奇在 Java 应用程序中进行 URL 重写的最佳方法是什么。假设您有一个名为 test_app 的应用程序,我将它部署在 tomcat 上。

通过 URL 重写我的意思是,我不想通过 host:port/test_app/ 访问应用程序,而是想通过 host:port/fancy_URL_for_test_app/ 访问它。

问题:在哪里进行 URL 重写更好?在 tomcat 容器上,或者通过使用类似于 tukey URLRewriteRule 的东西(意思是在应用程序级别重写)。

在我看来,从设计的角度来看,在 tomcat 级别上重写将是最好的方法,但是我注意到这里有不同的意见,例如是否有 Tomcat/Java 的 url 重写引擎?.

您能否解释一下为什么选择在应用程序级别而不是容器级别进行重写?

注意:我说的是严格的根上下文重写(即将 host:port/test_app/ 更改为 host:port/fancy_root_context/ 而不是将 host:port/test_app/login1 更改为 host:port/test_app/login2

提前致谢 !安德烈

4

1 回答 1

2

在大多数情况下,Tomcat(或任何其他 Java EE 服务器)之前都有一些东西——比如 nginx、apache 等。我会在那里处理重写。

于 2012-10-03T08:54:18.140 回答