> Java > java지도 시간 > 본문

Jersey의 URL 패턴을 /*에 매핑하면 Jersey 2.0의 정적 리소스에 대해 404 오류가 발생하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-27 08:38:02
원래의
625명이 탐색했습니다.

Why does mapping Jersey's URL pattern to /* cause 404 errors for static resources in Jersey 2.0?

Jersey /* 정적 리소스에 대한 404 오류를 트리거하는 서블릿 매핑

Jersey의 URL 패턴이 Jersey 버전 2.0에서 /*로 매핑된 경우 index.html과 같은 모든 정적 리소스에 대해 404 오류가 발생할 수 있습니다. 이 문제를 일으키는 web.xml 구성은 다음과 같습니다.

<code class="xml"><servlet>
  <servlet-name>JerseyApp</servlet-name>
  <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  <init-param>
    <param-name>javax.ws.rs.Application</param-name>
    <param-value>org.frog.jump.JerseyApp</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>JerseyApp</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping></code>
로그인 후 복사

Jersey 1.x용 솔루션

Jersey 1.x에서는 Jersey 서블릿에서 전환할 수 있습니다. 정적 콘텐츠 제공을 활성화하려면 필터에 추가하세요.

<code class="xml"><filter>
  <filter-name>Jersey Filter</filter-name>
  <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
  <init-param>
    <param-name>javax.ws.rs.Application</param-name>
    <param-value>org.frog.jump.JerseyApp</param-value>
  </init-param>
  <init-param>
    <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
    <param-value>/.*html</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>Jersey Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping></code>
로그인 후 복사

Jersey 2.x용 솔루션

Jersey 2.x에서는 다음 필터 구성을 사용하세요.

<code class="xml"><filter>
  <filter-name>Jersey Filter</filter-name>
  <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
  <init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>org.example</param-value>
  </init-param>
  <init-param>
    <param-name>jersey.config.servlet.filter.staticContentRegex</param-name>
    <param-value>/.*html</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>Jersey Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping></code>
로그인 후 복사

POM에 다음 항목이 포함되어 있는지 확인하세요.

<code class="xml"><dependency>
  <groupId>org.glassfish.jersey.core</groupId>
  <artifactId>jersey-server</artifactId>
  <version>${jersey2.version}</version>
  <type>jar</type>
  <scope>compile</scope>
</dependency>

<dependency>
  <groupId>org.glassfish.jersey.containers</groupId>
  <artifactId>jersey-container-servlet-core</artifactId>
  <version>${jersey2.version}</version>
  <type>jar</type>
  <scope>compile</scope>
</dependency></code>
로그인 후 복사

다양한 정적 파일 형식(예: CSS, JSP)을 제공하는 경우 init-param에서 정규식을 사용자 정의하세요.

위 내용은 Jersey의 URL 패턴을 /*에 매핑하면 Jersey 2.0의 정적 리소스에 대해 404 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!