С Джерси 1.x вы должны иметь возможность обслуживать статический контент с одного и того же пути, если вы переключитесь с сервлета Джерси на фильтр. Отбросьте 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>
EDIT: в Jersey 2.x вы должны иметь возможность делать то же самое, но имена свойств были изменены. Попробуйте что-то вроде:
<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>
И ваш POM должен включать:
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.0-m07-1</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.0-m07-1</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Вам нужно будет настроить регулярное выражение в init-param, если вы хотите использовать css , jsp и т. д.
Еще один хороший вариант - использовать путь с версиями для ваших сервисов («/ v1 / *»), а затем статический контент будет работать без фильтра.