1

Jersey 1 中的ServletContainer.FEATURE_FILTER_FORWARD_ON_404的 Jersey 2 等价物是什么?

ServletContainer.FEATURE_FILTER_FORWARD_ON_404定义为:

如果为 true 并且从运行时或应用程序返回没有实体主体的 404 响应,则运行时将请求转发到过滤器链中的下一个过滤器

请解释你为什么投反对票。如果您不解释问题所在,我将无法改进问题/答案。

4

2 回答 2

2

您应该使用的属性是ServletProperties.FILTER_FORWARD_ON_404ServletProperties.FILTER_STATIC_CONTENT_REGEX

ServletProperties.FILTER_FORWARD_ON_404定义为:

如果设置为 true 并且从运行时或应用程序返回没有实体主体的 404 响应,则运行时会将请求转发到过滤器链中的下一个过滤器。

ServletProperties.FILTER_STATIC_CONTENT_REGEX定义为:

如果设置,则正则表达式用于将传入的 servlet 路径 URI 与某些网页内容(例如静态资源或由底层 servlet 引擎处理的 JSP)进行匹配。

于 2013-10-25T18:24:43.110 回答
1

@gili 是正确的。有关 jersey 2.x 配置的完整运行示例,请查看我在 github 上的简单玩具项目:

https://github.com/depsypher/flapjack

本质上,您必须将 Jersey ServletContainer 作为过滤器运行,并将jersey.config.servlet.filter.forwardOn404属性作为 init 参数提供。

这是使用 Spring Boot 进行设置的示例;web.xml 等价物应该很明显:

FilterRegistrationBean filter = new FilterRegistrationBean(new ServletContainer());
filter.addInitParameter("jersey.config.servlet.filter.forwardOn404", "true");
于 2014-05-01T21:14:09.150 回答