如何获取运行我的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();
答案 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()