重定向到Spring MVC中的外部URL

Jak*_*ake 3 java spring jsp spring-mvc

在Spring Controller Action中,我使用以下语句重定向到外部URL:

String redirectUrl = "www.yahoo.com";
return "redirect:" + redirectUrl;
Run Code Online (Sandbox Code Playgroud)

但是,它似乎是在本地重定向URL而不是用www.yahoo.com替换整个地址栏URL.

例如:通过上面的重定向,我的地址栏现在看起来像:

http://localhost/myApp/auth/www.yahoo.com
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我甚至尝试重定向到视图,然后让视图重定向URL,但结果仍然相同.它似乎工作的唯一方式是,如果我有http://www.yahoo.comhttps://www.yahoo.com但我希望它按指定重定向URL,不一定提到协议.例如:如果直接进入地址栏,yahoo.com与http://www.yahoo.com类似.

谢谢

Rei*_*eus 9

如果主机与当前主机的主机不同,则需要该协议

String redirectUrl = "http://www.yahoo.com";
return "redirect:" + redirectUrl;
Run Code Online (Sandbox Code Playgroud)

看一看在redirect: prefix从部分的Spring Web MVC框架

逻辑视图名称(例如redirect:/ myapp/some/resource)将相对于当前Servlet上下文重定向,而重定向等名称:http://myhost.com/some/arbitrary/path将重定向到绝对URL.