Jersey休息时无法访问静态资源

时间:2016-02-27 10:51:10

标签: regex rest jersey jax-rs

我在访问/project/resources/(css|js)/中的静态资源时遇到问题。我能够在我的css文件夹中访问index.css,但没有其他人。我试图找到根本原因,改变正则表达式并搞砸了一切。现在我甚至无法访问index.css。请在下面找到详细信息 -

文件结构 -

webapp
  |____ resources
  |       |____ css
  |       |____ js
  |
  |____ WEB-INF
          |____ jsp

web.xml -

<?xml version="1.0" encoding="UTF-8"?>
    <!-- This web.xml file is not required when using Servlet 3.0 container,
 see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app version="2.5" 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_2_5.xsd">
    <filter>
        <filter-name>REST Web Application</filter-name>
        <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.restui</param-value>
    </init-param>
    <init-param>
      <param-name>jersey.config.server.mvc.templateBasePath.jsp</param-name>
      <param-value>/WEB-INF/jsp/</param-value>
    </init-param>
    <init-param>
        <param-name>jersey.config.servlet.filter.staticContentRegex</param-name>
        <param-value>/(resources/(css|js))|(WEB-INF/jsp)/*.*</param-value>
    </init-param>
    <init-param>
      <param-name>jersey.config.server.provider.classnames</param-name>
      <param-value>org.glassfish.jersey.server.mvc.jsp.JspMvcFeature</param-value>
    </init-param>
    </filter>
    <filter-mapping>
        <filter-name>REST Web Application</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

我试图在网上找到解决方案,但没有任何用处。希望有用的解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您使用Jersey 2.x,则jersey.config.servlet.filter.staticContentRegex属性应该有效。

我相信您的静态资源只在资源文件夹中。

试试这个:

<init-param>
    <param-name>jersey.config.servlet.filter.staticContentRegex</param-name>
    <param-value>/resources/(css|js)/.*</param-value>
</init-param>