36

如何在 Spring MVC Controller 中获取引用 URL?

4

2 回答 2

42

在 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) {
    ...
}
于 2011-04-12T17:14:21.270 回答
38

它可用作带有名称的 HTTP 请求标头referer(是的,拼写错误应该是referrer)。

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

requestHttpServletRequestSpring bean 中可用的多种方式,其中包括@AutoWired.

请记住,这是一个客户端控制的值,很容易被客户端欺骗/忽略。

于 2011-04-08T00:32:04.297 回答