如何获得Vaadin 7应用服务器的IP和端口?

时间:2014-02-14 19:34:05

标签: java vaadin7

如何获取运行我的Vaadin webapp的应用服务器的协议,IP和端口?我正在使用Vaadin 7。

在vaadin 6中,我这样做,但不能在vaadin 7中工作:

String server = ((WebApplicationContext) this.getContext()).getHttpSession().getServletContext().getServerInfo();

java.net.URL url = this.getURL();
String s = url.getHost()+":"+url.getPort()+url.getPath();

3 个答案:

答案 0 :(得分:14)

System.out.println(UI.getCurrent().getPage().getLocation().getHost());
System.out.println(UI.getCurrent().getPage().getLocation().getPath());
System.out.println(UI.getCurrent().getPage().getLocation().getPort());

答案 1 :(得分:7)

我这样做:

String basePath = Page.getCurrent().getLocation().getScheme() + ":" +
                  Page.getCurrent().getLocation().getSchemeSpecificPart()

答案 2 :(得分:2)

对于应用程序路径部分,要获取真正的应用程序目录而不是浏览器请求路径,请使用VaadinServlet.getCurrent().getServletContext().getContextPath()