问题
How can I get the protocol, IP and port of the app server running my Vaadin webapp? I'm using Vaadin 7.
In vaadin 6 I doing in this way, but not work in vaadin 7:
String server = ((WebApplicationContext) this.getContext()).getHttpSession().getServletContext().getServerInfo();
java.net.URL url = this.getURL();
String s = url.getHost()+":"+url.getPort()+url.getPath();
回答1:
System.out.println(UI.getCurrent().getPage().getLocation().getHost());
System.out.println(UI.getCurrent().getPage().getLocation().getPath());
System.out.println(UI.getCurrent().getPage().getLocation().getPort());
回答2:
I do it like this:
String basePath = Page.getCurrent().getLocation().getScheme() + ":" +
Page.getCurrent().getLocation().getSchemeSpecificPart()
回答3:
as for the application path part, to get the real application directory and not the browser request path, use VaadinServlet.getCurrent().getServletContext().getContextPath()
来源:https://stackoverflow.com/questions/21788023/how-to-get-the-vaadin-7-application-server-ip-and-port