Istnieją dwie metody łatwiejszego dostępu do tych danych, ale interfejs nie oferuje możliwości uzyskania całego adresu URL za pomocą jednego wywołania. Musisz go zbudować ręcznie:
public static String makeUrl(HttpServletRequest request)
{
return request.getRequestURL().toString() + "?" + request.getQueryString();
}
Nie wiem, jak to zrobić z jakimikolwiek urządzeniami Spring MVC.
Jeśli chcesz uzyskać dostęp do bieżącego żądania bez przekazywania go wszędzie, będziesz musiał dodać odbiornik w web.xml:
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
Następnie użyj tego, aby uzyskać żądanie powiązane z bieżącym wątkiem:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()
HttpServletRequest
obiektu. Dzieje się tak, ponieważ używam kilku klas / metod pomocniczych i nie chcę za każdym razem przekazywać obiektu żądania.