java - Guice 和 URLRewrite 过滤器集成

标签 java servlets guice tuckey-urlrewrite-filter guice-servlet

我正在逐步将应用程序 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&amp;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/

相关文章:

java - 不安装客户端软件连接VPN

eclipse - 每次在Eclipse中更新网站都要重启Tomcat吗?

java - 我如何让 Guice 正确绑定(bind)这个泛型?

java - 如何修复空光标 - android studio

Java - 将多个列表数据组合成一个单独的列列表

java - java中的字符串创建

java - 如何为 request.getRequestDispatcher() 指定 .JSP 文件的路径?

java - BufferingResponseListener 和 getContentAsString 追加之前获取的内容

java - 如何在 Guice 中进行可选绑定(bind)?

java - 将 Guice 与自定义类一起使用?