我在localhost,端口8080上运行我的应用程序。基本网址为:http://localhost:8080/EMSApplication/otherparts ...
现在从HttpServletRequest
我如何提取http://localhost:8080/EMSApplication部分?
目前我这样做:
String schema = request.getScheme();
String serverName = request.getServerName();
int serverPort = request.getServerPort();
String contextPath = request.getContextPath();
String path = schema + "://" + serverName + ":" + serverPort + contextPath;
System.out.println(path);
此处请求是HttpServletRequest
。
这个程序对吗?
有没有其他方法可以获取信息?
如果我托管我的申请并说网址为http://my.domain.com/EMSApplication/otherparts ...那么上述程序代码是否有效?
我找到的另一种方式:
String requestUrl = request.getRequestURL().toString();
String contextPath = request.getContextPath();
String path = requestUrl.substring(0, requestUrl.indexOf(contextPath) + contextPath.length());
我需要的地方:
HttpServletRequest request = (HttpServletRequest) getRequest().getContainerRequest();
String requestUrl = request.getRequestURL().toString();
String contextPath = request.getContextPath();
String path = requestUrl.substring(0, requestUrl.indexOf(contextPath) + contextPath.length());
submitLink.add(new WebMarkupContainer("submitImage").add(new AttributeModifier("src", path + "/ASSETS/css/images/login-btn.png")));
我正在开发一个Wicket应用程序,我需要指定<img/>
的src。
答案 0 :(得分:2)
无论哪种方式都很好,但我更喜欢第一种方式。没有任何更直接的想法,虽然如果你解释了为什么你想要这个值,可能会有。