繁体   English   中英

为什么我在Jersey的简单过滤器不起作用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM