如何以编程方式注册GuiceFilter?

时间:2014-01-17 11:14:55

标签: java-ee dependency-injection jersey guice servlet-listeners

我尝试使用guice依赖注入的球衣应用程序。当我通过web.xml加载GuiceFilter时,一切正常。但是当我使用下面给出的guice api注册过滤器时,jersey不会被初始化。

protected void configureServlets() {
    final Map<String, String> params = new HashMap<String, String>();
    params.put(PackagesResourceConfig.PROPERTY_PACKAGES, "com.mypackage.rest");
    bind(MyInterface.class).to(MyImpl.class);
    filter("/*").through(GuiceFilter.class);
    serve("/*").with(GuiceContainer.class, params);
}

1 个答案:

答案 0 :(得分:0)

您无需在Guice过滤器中注册Guice过滤器。它应该直接在您的servlet容器中,web.xml中或在创建servlet容器的代码中注册(例如,嵌入式Jetty)。另一方面,其他servlet和过滤器可以在Guice过滤器中注册。

如果您不在servlet容器中注册Guice过滤器,那么它如何知道您想通过此过滤器传递请求?