你说你想准确地得到:
http://localhost:9090/dts
在您的情况下,上述字符串包括:
- 方案:http协议
- 服务器主机名:本地服务器
- 服务器港口:9090
- 上下文路径:数据传输系统
有关请求路径元素的更多信息,请参阅官方OracleJava EE教程:从请求中获取信息
第一种变体:
字符串方案=request.getScheme();字符串serverName=request.getServerName();int serverPort=请求.getServerPort();String contextPath=请求.getContextPath();//包括前导正斜杠字符串结果路径=scheme+“://”+服务器名称+“:”+服务器端口+上下文路径;System.out.println(“结果路径:”+结果路径);
第二种变体:
字符串方案=request.getScheme();String host=request.getHeader(“主机”);//包括服务器名称和服务器端口String contextPath=请求.getContextPath();//包括前导正斜杠字符串结果路径=scheme+“://”+主机+上下文路径;System.out.println(“结果路径:”+结果路径);
这两种变体都能满足您的需求:http://localhost:9090/dts
当然,还有其他类似于其他人已经写过的变体。这只是你最初问的关于如何获得http://localhost:9090/dts
也就是说,您希望自己的路径包括这个方案.
但如果你不需要方案,快速方法是:
String resultPath=请求.getHeader(“主机”)+请求.getContextPath();
在您的情况下,您将得到:本地主机:9090/dts