Java Spring、Jersey和可视JSP集成

Java Spring、Jersey和可视JSP集成,java,spring,jersey,jax-rs,Java,Spring,Jersey,Jax Rs,我正在尝试将Spring3.0.5与Jersey 1.4进行集成。我似乎一切正常,但每当我尝试返回指向JSP的可视对象时,就会出现404错误。当我不使用spring时,我可以使用此过滤器: <filter> <filter-name>Jersey Filter</filter-name> <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</f

我正在尝试将Spring3.0.5与Jersey 1.4进行集成。我似乎一切正常,但每当我尝试返回指向JSP的可视对象时,就会出现404错误。当我不使用spring时,我可以使用此过滤器:

<filter>
    <filter-name>Jersey Filter</filter-name>
    <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
    <init-param>
        <param-name>com.sun.jersey.config.feature.Redirect</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>cheetah.frontend.controllers</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.feature.FilterForwardOn404</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
        <param-value>/(images|css|jsp)/.*</param-value>
    </init-param>
</filter>

泽西过滤器
com.sun.jersey.spi.container.servlet.ServletContainer
com.sun.jersey.config.feature.Redirect
真的
com.sun.jersey.config.property.packages
猎豹。前端。控制器
com.sun.jersey.config.feature.FilterForwardOn404
真的
com.sun.jersey.config.property.WebPageContentRegex
/(图片| css | jsp)/*
我可以返回一个可查看的任何JSP、图像、css,它们存储在适当的文件夹中。然而,现在我必须使用SpringServlet来获得spring集成,我不知道如何访问资源,因为我不能使用上面的过滤器。我尝试过使用此servlet映射,但没有成功:

<servlet>  
    <servlet-name>jerseyspring</servlet-name> 
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>
    <init-param>
        <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
        <param-value>/(images|css|jsp)/.*</param-value>
    </init-param>
</servlet>  
<servlet-mapping>  
    <servlet-name>jerseyspring</servlet-name>  
    <url-pattern>/*</url-pattern>  
</servlet-mapping>

球衣之春
com.sun.jersey.spi.spring.container.servlet.SpringServlet
1.
com.sun.jersey.config.property.WebPageContentRegex
/(图片| css | jsp)/*
球衣之春
/*  
有人知道实现这一点的正确配置吗

感谢您的帮助。

这似乎与最近添加到Spring中的类似

我怀疑您的可视资源是由jerseyspring Servlet处理的,而不是静态内容处理Servlet(上面链接中讨论的“默认”Servlet)


如果您将配置更改为使用
/
,会发生什么情况?

我发现您可以使用SpringServlet作为过滤器:

<filter>
    <filter-name>Jersey Filter</filter-name>
    <filter-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</filter-class>
    <init-param>
        <param-name>com.sun.jersey.config.feature.Redirect</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.feature.FilterForwardOn404</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
        <param-value>/(images|css|jsp)/.*</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>Jersey Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

泽西过滤器
com.sun.jersey.spi.spring.container.servlet.SpringServlet
com.sun.jersey.config.feature.Redirect
真的
com.sun.jersey.config.feature.FilterForwardOn404
真的
com.sun.jersey.config.property.WebPageContentRegex
/(图片| css | jsp)/*
泽西过滤器
/*

这对我来说应该是显而易见的,因为我在最初的过滤器中使用了Servlet

+1在我的问题上帮了我很多忙: