我们目前正在使用 Jersey JAX-RS 实现来处理我们的 REST 请求(服务器端 Jersey)。我们的 web.xml 文件配置为所有/rest/* 请求都由 Jersey 处理。没关系。我们的服务器目前是 Tomcat6,并且使用 Java6(在 Ubuntu 11.04 上)
因此,://myserver/rest/customer/没问题,Jersey 调用带有@Path("/customer") 前缀的类。
现在我们也有静态内容,例如 ://myserver/images/... 加载正常。
有没有办法让我们摆脱/rest/* 前缀并将它们混合在一起?
我们想要实现的目标: ://myserver/rest/customer/→ Jersey ://myserver/rest/images/→ war 的原生镜像目录
谢谢你的帮助
最佳答案
这很容易实现。只需在 web.xml 中将 Jersey ServletContainer 注册为过滤器(而不是 servlet)- 请参阅 this page 的底部举个例子 - 或者使用 ServletContainer.PROPERTY_WEB_PAGE_CONTENT_REGEX或 ServletContainer.FEATURE_FILTER_FORWARD_ON_404初始化参数以使静态内容可访问。
关于java - 如何将服务器端 Jax-rs 调用与没有前缀的 native 文件混合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210546/