获取域名端口
public enum UrlTools {
INSTANCE;
/**
* 提取地址域名(带端口)
* @param url
* @return
*/
public String getHost(String url) {
if (url == null || url.length() == 0)
return "";
int doubleslash = url.indexOf("//");
if (doubleslash == -1){
doubleslash = 0;
}else{
doubleslash += 2;
}
int end = url.indexOf('/', doubleslash);
end = end >= 0 ? end : url.length();
String host = url.substring(doubleslash, end);
return host;
}
/**
* 提取域名头(http or https)
* @param request
* @return
*/
public String getHead(HttpServletRequest request) {
String head =request.getScheme();
return head+"://";
}
}
方法一:
String requestURL = "localhost";
requestURL = UrlTools.INSTANCE.getHost(request.getRequestURL().toString());
方法二:
String head = UrlTools.INSTANCE.getHead(request);
"localhost:8080"
"http://"