如果我有HttpServletRequest
的实例,我可以request.getServerName()
获取服务器名称。但是,在控制器bean的后期初始化期间,我没有HttpServletRequest
的实例。
@Controller
@RequestMapping(value = {"/data"})
public class DataController {
@PostConstruct
public void init() {
// how to get server name?
}
}
在这种情况下如何获取服务器名称?
答案 0 :(得分:4)
没有好办法。
一般来说,服务器不知道可以用来从外部访问它的名称。实际上,HttpServletRequest.getServerName()
也不是解决方案,因为它返回用于发送该特定请求的名称,而不是您想要知道服务器的规范名称。
典型的解决方案是在属性文件等中为特定部署配置规范服务器名称。