我使用不同的服务器和配置。获取 scheme://host:[port if it is not port 80] 的最佳 Java 代码方法是什么。
这是我使用的一些代码,但不知道这是否是最好的方法。(这是伪代码)
HttpServletRequest == 请求
String serverName = request.getServerName().toLowerCase();
String scheme = request.getScheme();
int port = request.getServerPort();
String val = scheme + "://" + serverName + ":" port;
这样 val 返回:
http(s)://server.com/
或者
http(s)://server.com:7770
基本上,我需要除查询字符串和“上下文”之外的所有内容。
我还考虑使用 URL:
String absURL = request.getRequestURL();
URL url = new URL(absURL);
url.get????