получить полный URL

189
03 ноября 2018, 08:30

подскажите пожалуйста как получит откуда был запрос, т.е. имеется сервис который возвращает время и обращение к этому сервису происходит во всех страницах. выглядит примерно так:

@GET
@Path("/getUpdateTime")
@Produces(MediaType.APPLICATION_JSON)
public UpdateTime getUpdateTime(@Context HttpServletRequest req) {
    return ut.getLastUpdateTime();
}

req.getRemoteAddr дает айпи и т.д. и т.п. а вот как получит полный адрес откуда был запрос? типа blablabla.ru:8080/qwerty/asd.html

Answer 1

Возможно Вы имели в виду REFERRER

Referer является одним из заголовков запроса клиента. Содержит URL источника запроса. Если перейти с одной страницы на другую, referer будет содержать адрес первой страницы. ... Если HTTP-клиент загружает с сервера картинку, представленную на какой-либо странице, то referer будет содержать адрес этой страницы.

(c) Wikipedia

Его можно получить запросив из объекта запроса соответствующий заголовок:

String referrer = request.getHeader("referer");

Однако, я не вижу как это может быть связано со временем? Может быть Вам просто стоит вначале обработчика создавать объект даты с текущим временем и позже его выводить?

Answer 2
public static String getCurrentUrl(HttpServletRequest request){
    URL url = new URL(request.getRequestURL().toString());
    String host  = url.getHost();
    String userInfo = url.getUserInfo();
    String scheme = url.getProtocol();
    String port = url.getPort();
    String path = request.getAttribute("javax.servlet.forward.request_uri");
    String query = request.getAttribute("javax.servlet.forward.query_string");
    URI uri = new URI(scheme,userInfo,host,port,path,query,null)
        return uri.toString();
}

На основе примера выше, Вы можете составить адрес в удобном для Вас формате

READ ALSO
СSS как сделать такие ссылки?

СSS как сделать такие ссылки?

Как c помощью СSS сделать такие ссылки? Нужно чтобы при наведении курсором они были оранжевыми с белыми символами, а без курсора с серыми с черными...

219
Яндекс.Карты: как отобразить Circle поверх меток?

Яндекс.Карты: как отобразить Circle поверх меток?

Метки загружаются в ObjectManager, затем ObjectManager добавляется к MapgeoObject, после этого туда же добавляются два Circle

169
React js Запрет ввода пробела

React js Запрет ввода пробела

Подскажите как в поле input можно запретить ввод пробела первым символом? Так же не совсем понимаю, как запретить ввод не более одного пробела...

217