Как получить URL, как показано в адресной строке браузера в JAVA? - PullRequest
0 голосов
/ 20 февраля 2019

Я искал это много раз, и их нет четкого ответа на него в Интернете: могу ли я получить URL точно так, как он отображается в адресной строке веб-браузера на Java, и, если да, то как?

Я имею в виду точный адрес: для меня сейчас это будет "https://stackoverflow.com/questions/ask", или" https: //stackoverflow.com/questions/54790941/how-to-get-the-url-as-shown-in-browsers-address-bar-in-java "(без пробела между: и /) для этого поста.

Я знаю, что у меня не может быть" # ... ", потому что это не передаетсябраузер, так что это должно быть исключением.

Чтобы упростить эту задачу, я бы хотел, чтобы в JavaScript была точная вещь "window.location.href".

Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2019

Вы можете сделать это с помощью HttpServletRequest .Я предлагаю вам ознакомиться с методами HttpServletRequest.

Например:

private String getBaseUrl(HttpServletRequest httpServletRequest) {
    final String scheme =   httpServletRequest.getScheme() + "://";  // http://
    final String serverName = httpServletRequest.getServerName();  // /example.com
    final String serverPort = (httpServletRequest.getServerPort() == 80) ? "" : ":" + httpServletRequest.getServerPort(); // 80 or ?
    final String contextPath = httpServletRequest.getContextPath(); // /webapp
    final String servletPath = httpServletRequest.getServletPath(); // /test/test
    return scheme + serverName + serverPort + contextPath + servletPath;
}

Объединение результатов getRequestURL () и getQueryString ()

private String getUrl(HttpServletRequest httpServletRequest) {
    final StringBuffer requestUrl = httpServletRequest.getRequestURL();
    final String queryString = httpServletRequest.getQueryString();
    if (queryString != null) {
        requestUrl.append('?');
        requestUrl.append(queryString);
    }
    return requestUrl.toString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...