Với Jersey 1.x bạn sẽ có thể phân phát nội dung tĩnh từ cùng một đường dẫn nếu bạn chuyển từ servlet Jersey sang bộ lọc. Thả XML servlet bạn đã chỉ định và chuyển đổi nó để:
<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: Trong Jersey 2.x bạn sẽ có thể làm điều tương tự nhưng tên của các thuộc tính đã được thay đổi. Hãy thử một cái gì đó như:
<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>
Và POM của bạn nên bao gồm:
<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>
Bạn sẽ phải tùy chỉnh các biểu thức chính quy trong init-param nếu bạn muốn để phục vụ css, jsp vv
Một tùy chọn tốt khác là sử dụng đường dẫn được phiên bản cho các dịch vụ của bạn ("/ v1/*") và sau đó nội dung tĩnh sẽ hoạt động mà không có bộ lọc.
Nếu tôi không sai, bạn không còn có thể làm được điều này trong các phiên bản 2.x. com.sun.jersey.spi.container.servlet.ServletContainer không phải là một phần của jersey 2.X tôi nghĩ vậy. – FUD
Cập nhật câu trả lời để bao gồm tùy chọn 2.x. Gói đã thay đổi. – condit
Không thực sự liên quan có thể, nhưng tôi tự hỏi nếu nó sẽ có thể thiết lập các params "programmatically"/chú thích/Properties. Có vẻ như với JEE6 điều này là không thể. Với JEE7 nó có thể là, thông qua Application.getProperites(). Put (key, value)? – icyerasor