Как я могу получить URL-адрес реферера в Spring MVC-контроллере?
Получить URL-адрес реферера в Spring MVC
Ответ 1
Он доступен как заголовок HTTP-запроса с именем referer
(да, с ошибкой, которая должна была быть referrer
).
String referrer = request.getHeader("referer");
// ...
Здесь request
- это HttpServletRequest
, который доступен в Spring beans несколькими способами, среди прочего, @AutoWired
.
Пожалуйста, имейте в виду, что это контролируемое клиентом значение, которое может быть легко обмануто/опущено клиентом.
Ответ 2
В Spring MVC 3 вы можете получить его из запроса, поскольку @BalusC уже сказал:
public ModelAndView doSomething(final HttpServletRequest request) {
final String referer = request.getHeader("referer");
...
}
но существует также специальная аннотация @RequestHeader, которые позволяют упростить код
public ModelAndView doSomething(@RequestHeader(value = "referer", required = false) final String referer) {
...
}