Mike Flynn
Mike Flynn

Reputation: 24325

Get Referer URL in Spring MVC

How can I get the referer URL in Spring MVC Controller?

Upvotes: 38

Views: 55170

Answers (2)

Slava Semushin
Slava Semushin

Reputation: 15214

In Spring MVC 3 you can get it from request, as @BalusC already said:

public ModelAndView doSomething(final HttpServletRequest request) {
    final String referer = request.getHeader("referer");
    ...
}

but there also exists special annotation @RequestHeader which allow to simplify your code to

public ModelAndView doSomething(@RequestHeader(value = "referer", required = false) final String referer) {
    ...
}

Upvotes: 44

BalusC
BalusC

Reputation: 1109655

It's available as HTTP request header with the name referer (yes, with the misspelling which should have been referrer).

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

Here the request is the HttpServletRequest which is available in Spring beans in several ways, among others by an @AutoWired.

Please keep in mind that this is a client-controlled value which can easily be spoofed/omitted by the client.

Upvotes: 42

Related Questions