Regex 在Jersey rest中无法访问静态资源

Regex 在Jersey rest中无法访问静态资源,regex,rest,jersey,jax-rs,Regex,Rest,Jersey,Jax Rs,我在访问/project/resources/(css | js)/中的静态资源时遇到问题。我可以访问css文件夹中的index.css,但没有其他功能。我试图找到根本原因,改变了正则表达式,把一切都搞砸了。现在我甚至无法访问index.css。请在下面查找详细信息- 文件结构- webapp |____ resources | |____ css | |____ js | |____ WEB-INF |____ jsp web.

我在访问
/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>

RESTWeb应用程序
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
com.restui
jersey.config.server.mvc.templateBasePath.jsp
/WEB-INF/jsp/
jersey.config.servlet.filter.staticContentRegex
/(参考资料/(css | js))|(WEB-INF/jsp)/**
jersey.config.server.provider.classnames
org.glassfish.jersey.server.mvc.jsp.JspMvcFeature
RESTWeb应用程序
/*
我试图在网上找到解决办法,但没有任何用处。希望得到有用的解决方案


提前感谢。

如果您使用的是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>

jersey.config.servlet.filter.staticContentRegex
/资源/(css | js)/*

您是否收到404未找到错误?谢谢,它成功了。添加更多的正则表达式选项是否会让应用程序感到困惑?我这样做是为了避免像以前那样为安全性增加多余的东西。。