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