Получить URL реферера в Spring MVC - PullRequest
27 голосов
/ 08 апреля 2011

Как получить URL реферера в Spring MVC Controller?

Ответы [ 2 ]

39 голосов
/ 12 апреля 2011

В 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) {
    ...
}
29 голосов
/ 08 апреля 2011

Он доступен в виде заголовка HTTP-запроса с именем referer (да, с ошибкой, которая должна была быть referrer).

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

Здесь request - это HttpServletRequest, который доступен в Spring bean несколькими способами, в том числе @AutoWired.

Пожалуйста, имейте в виду, что это контролируемое клиентом значение, которое может быть легко подделано / опущеноклиент.

...