当我使用过滤器没有得到任何输出

时间:2015-09-07 22:21:16

标签: maven jersey jax-rs resteasy web.xml

当我使用过滤器没有任何输出时,但是当我得到输出时我删除过滤器。这是我的 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <display-name>MYApp</display-name>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/spring-hibernate-resteasy.xml</param-value>
    </context-param>
    <context-param>
        <param-name>resteasy.servlet.mapping.prefix</param-name>
        <param-value>/resteasy</param-value>
    </context-param>
    <filter>
        <filter-name>jersey</filter-name>
        <filter-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</filter-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.JSPTemplatesBasePath</param-name>
            <param-value>/WEB-INF/pages</param-value>
        </init-param>
        <init-param>
         <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
           <param-value>/(css|js|img|resources|(WEB-INF/pages))/.*</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>jersey</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/resteasy/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

可查看 Jax-rs网络服务添加过滤器用于添加。为什么无法获得任何输出?

我是如何解决的?

感谢。

1 个答案:

答案 0 :(得分:0)

您将过滤器设置为SpringServlet,但已配置<servlet>。我认为这些是不兼容的,我认为你可以使用一个实现以下方法之一的类来过滤自己:ContainerRequestFilterContainerResponseFilterClientRequestFilterClientResponsFilter(或者WriterInterceptor标记中的ReaderInterceptor / <filter>}。或者只是移除<servlet>配置,看看它的作用。

在此处查看有关过滤器和拦截器的一些Jersey文档:https://jersey.java.net/documentation/latest/filters-and-interceptors.html

希望这会让你朝着正确的方向前进。