如何更改Jersey @ref
生成的给定URI的主机名?
我正在使用Jersey REST来制作Web服务,该链接具有使用@ref
访问不同资源的链接,现在,当我在本地tomcat中部署服务时,它工作正常(因为使用locahost:8080
),但是当部署在公共服务器(bla.com)中时不起作用,因为该链接的主机名仍然是localhost而不是bla.com
使用@ref
@Ref(value = "res/{id}", style = Style.ABSOLUTE)
private URI uri;
web.xml
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>com.sun.jersey.server.linking.LinkFilter</param-value>
</init-param>
解决方案:
经过一番研究,我发现@Ref
的IP是从运行中的服务器(在我的情况下是嵌入式Apache Tomcat)中选取的,因此要更改主机名,您应该更改Tomcat(任何其他服务器)的配置。