[英]Why my simple filter in Jersey doesn't work?
我尝试使用带有Jersey的简单过滤器,但没有运气。 我的过滤器:
public class JerseyHelloFilter implements ContainerResponseFilter {
@Override
public ContainerResponse filter(ContainerRequest creq, ContainerResponse cresp) {
System.out.println("JerseyHelloFilter : filter");
return cresp;
}
}
我的web.xml:
<servlet>
<servlet-name>Log Filter</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>my.package.JerseyHelloFilter</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Log Filter</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
我的JSP页面: /my.page/index.jsp
我的JAX-RS服务: /my.page/resources/*
通过以上代码,我希望每次调用我的网站并返回页面时都将执行filter
方法。 但是相反,我从过滤器获取日志,并且:当我尝试在浏览器中访问index.jsp欢迎文件时, HTTP Status 404 - Not Found
。 我做错了什么?
我怀疑您通过Jersey服务请求的JAX-RS映射可能是/services/*
。 因此,您试图过滤未配置Jersey处理的请求。 /*
将匹配更多的URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.