Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Spring控制器中的PostConstruct方法获取服务器名称_Java_Spring Mvc - Fatal编程技术网

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

Java 从Spring控制器中的PostConstruct方法获取服务器名称,java,spring-mvc,Java,Spring Mvc,如果我有一个HttpServletRequest的实例,我可以执行request.getServerName()来获取服务器名称。但是,在控制器bean的后初始化期间,我没有HttpServletRequest的实例 @Controller @RequestMapping(value = {"/data"}) public class DataController { @PostConstruct public void init() { // how to ge

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

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

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

没有好的方法

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


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

你说得对。在收到请求之前,servlet容器无法知道其服务器名称。谢谢