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容器无法知道其服务器名称。谢谢