从Spring控制器中的PostConstruct方法获取服务器名称

时间:2011-12-01 15:15:13

标签: java spring-mvc

如果我有HttpServletRequest的实例,我可以request.getServerName()获取服务器名称。但是,在控制器bean的后期初始化期间,我没有HttpServletRequest的实例。

@Controller
@RequestMapping(value = {"/data"})
public class DataController {
    @PostConstruct
    public void init() {
        // how to get server name?
    }
}

在这种情况下如何获取服务器名称?

1 个答案:

答案 0 :(得分:4)

没有好办法。

一般来说,服务器不知道可以用来从外部访问它的名称。实际上,HttpServletRequest.getServerName()也不是解决方案,因为它返回用于发送该特定请求的名称,而不是您想要知道服务器的规范名称。

典型的解决方案是在属性文件等中为特定部署配置规范服务器名称。