Иногда вам нужно создать полный URL-адрес вашего контекста веб-приложения внутри сервлета/JSP/на основе HttpServletRequest
.
Что-то вроде http://server.name:8080/context/. API-интерфейс Servlet не имеет единого метода для достижения этого.
Прямым подходом является добавление всех компонентов URL к StringBuffer
, например
ctxUrl = sb.append(req.getScheme()).append("://")
.append(req.getgetServerName()).append(":")
.append(req.getServerPort()) etc
Интересно, если что-то не так с этой альтернативой (что в 10 раз быстрее):
ctxUrl = req.getRequestURL();
ctxUrl = ctxUrl.substring(0, ctxUrl.lastIndexOf("/")));
Будут ли два вышеупомянутых метода давать одинаковый результат?