我在标准配置中在 Tomcat 6.0.32 上使用 Jersey 1.11 而不是 Guice 3.0:
configureServlets() {
filter("/ws/*").through(GuiceContainer.class);
}
还有一个简单的资源类:
@Path("/resource")
public class Resource { ... }
鉴于此,我认为访问“/ws/resource”会起作用;但实际上没有找到资源。问题似乎在于未正确计算请求路径。作为一种解决方法,我已将参数设置PROPERTY_FILTER_CONTEXT_PATH
为/ws
,这使整个工作正常:
Map<String, String> jerseyConfig = new HashMap<String, String>();
jerseyConfig.put(ServletContainer.PROPERTY_FILTER_CONTEXT_PATH, "/ws");
filter("/ws/*").through(GuiceContainer.class, jerseyConfig);
因此我的问题是:
- 这真的是一个错误还是一个“功能”?
- 是否有其他解决方案或解决方法?
有关信息,我看到了一个可能相关的 Guice 错误,它似乎已合并到另一个错误中,但我想知道它是否已正确修复(链接)