Есть два способа облегчить доступ к этим данным, но интерфейс не предлагает возможности получить весь URL-адрес за один вызов. Вы должны собрать его вручную:
public static String makeUrl(HttpServletRequest request)
{
return request.getRequestURL().toString() + "?" + request.getQueryString();
}
Я не знаю, как сделать это с помощью каких-либо средств Spring MVC.
Если вы хотите получить доступ к текущему запросу, не передавая его повсюду, вам придется добавить слушателя в web.xml:
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
А затем используйте это, чтобы привязать запрос к текущему потоку:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()