2010-10-20 133 views
3

我正在尝试从与处理对资源请求的servlet相同的webapp提供静态内容(调用Jersey REST资源的HTML表单)。据我所知,我可以将请求过滤到Jersey servlet以外的静态内容。我的web.xml如下,但目前我无法访问静态内容,也没有资源......两者都单独工作。过滤静态内容Jersey

<filter> 
    <filter-name>my-filter</filter-name> 
    <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name> 
     <param-value>/*.html</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>my-filter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
<servlet> 
    <servlet-name>my-service</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>com.mydomain.ws.myservice</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>my-service</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
+0

如果我删除了'',那么Web服务工作,并且如果我删除了'',静态内容就起作用。既;既没有工作。 – pertinky 2010-10-21 07:42:19

+0

关于这个话题的一些消息? – herau 2014-07-01 16:38:16

回答

0

设置我的服务,使得其他的服务是根据自己的子路径,从静态内容分开:

<servlet-mapping> 
    <servlet-name>ServletAdaptor</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 
3

FWIW你原来的问题可能是因为对WebContentRegex帕拉姆值不一个正则表达式。好吧,技术上它是,但它不符合你可能想要的。您应该尝试使用类似/.*.html的内容。