Я работаю с разными серверами и конфигурациями. Каков наилучший подход к Java-коду для получения схемы: // host: [port, если это не порт 80].
Вот код, который я использовал, но не знаю, лучший ли это подход.
(это псевдокод)
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????