我正在逐步将应用程序 servlet 从 web.xml 迁移到 Guice servlet 模块,并遇到了 UrlRewrite 过滤器问题 (tuckey.org/urlrewrite/)。它不处理在 Guice 模块中注册的 servlet。如果我在 web.xml 中注册 servlet 和过滤器,一切正常,但如果我尝试在 Guice 模块中注册它们,则不行。 有人遇到过类似的问题吗?
以下是一些代码摘录:
1)Guice配置模块。
public class ServletConfigurationModule extends ServletModule {
@Override
protected void configureServlets() {
bind(UrlRewriteFilter.class).in(Singleton.class);
Map<String, String> urlRewriteParams = new HashMap<>();
urlRewriteParams.put("confReloadCheckInterval", "60");
urlRewriteParams.put("statusEnabled", "false");
filter("/*").through(UrlRewriteFilter.class, urlRewriteParams);
serve("/account").with(Account.class);
2) urlrewrite.xml 内容
<rule>
<from>/affiliate-activation</from>
<to>/account?do=affiliate&trg=5</to>
</rule>
当我尝试打开 url myhost/affiliate-activation 时,出现 404 HTTP 错误。
最佳答案
我希望我已经解决了这个问题。 Here您可以找到带有示例的存储库。克隆存储库并执行 gradle jettyRun 。您可以使用浏览器测试该应用程序。欢迎提出任何问题并分享想法。基本上 urlrewrite.xml
已更改。
关于java - Guice 和 URLRewrite 过滤器集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22945745/