我有一个应用程序在jetty下运行,我希望应用程序返回自引用绝对URL(在生成RSS提要时,客户机必须能够在没有“当前URL”上下文的情况下工作)。
问题是,我不知道应用程序将在哪个主机名下部署,很可能它将部署在一个虚拟主机环境中,其中多个主机名映射到同一IP地址。我试过用
HttpServletRequest.getLocalName()
,但返回接收请求的IP地址(通常在本地主机文件中设置)的解析主机名[1],而不是来自HTTP请求中指定的客户端URL的主机名。
基本上我想得到CGI下的环境变量
SERVER_NAME
但它看起来不像Java API提供的。如有任何帮助,我们将不胜感激。
[1]只有在我运气好的情况下-在某些设置中,它只返回IP地址。