当前位置: 首页 > 知识库问答 >
问题:

来自spring启动控制器的Url重定向

何涵忍
2023-03-14

我在spring boot应用程序中点击一个控制器,当我返回到浏览器时,我希望它重定向到spring boot应用程序模板以外的另一个网站或url。

共有1个答案

敖子安
2023-03-14

你可以用很多方法做到这一点

使用重定向视图

@RequestMapping("/to-be-redirected")
public RedirectView localRedirect() {
    RedirectView redirectView = new RedirectView();
    redirectView.setUrl("http://www.yahoo.com");
    return redirectView;
}

使用响应性

@RequestMapping("/to-be-redirected")
public ResponseEntity<Object> redirectToExternalUrl() throws URISyntaxException {
    URI yahoo = new URI("http://www.yahoo.com");
    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.setLocation(yahoo);
    return new ResponseEntity<>(httpHeaders, HttpStatus.SEE_OTHER);
}

使用HttpServletResponse

@RequestMapping(value = "/", method = RequestMethod.GET)
public void redirectToTwitter(HttpServletResponse httpServletResponse) throws IOException {
    httpServletResponse.sendRedirect("https://twitter.com");
}

使用ModelAndView

@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public ModelAndView method() {
    return new ModelAndView("redirect:" + projectUrl);
}
 类似资料:
  • 我正在构建一个URL缩短器,并正在研究“跟随方法”(follow method)——例如short。李/?存根=dishpods应重定向到https://www.amazon.com/gp/product/B07CTQ8THP/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8 如何在我的控制器中设置这个自动重定向?我能想到的最好的办法是打印到控制台,但我希望它能

  • 我试图从一个非常简单的控制器重定向到位于资源/模板中的jsp页面,但我不想使用ViewResolver java配置,而是想使用应用程序属性前缀和后缀! 控制器 以下是我的应用程序属性: jsp位置为: 但我总是犯这样的错误: 白标签错误页此应用程序没有/Error的显式映射,因此您将其视为回退。 EET 2019年11月13 13:38:55日星期三出现意外错误(类型=未找到,状态=404)。没

  • 我试图用Spring boot 1.5.9.RELEASE来构建一个rest api,却被这个问题卡住了。对apiendpoint的post请求工作得很好,但是当到达get请求时,结果会重复。应用程序对get请求产生的响应是 关联的请求映射类代码 响应类 对如何解决这个问题有什么想法吗?预先感谢

  • 自定义路由 easySwoole支持路由拦截。其路由利用fastRoute实现,因此其路由规则与其保持一致,该组件的详细文档请参考 GitHub文档 路由定义 若需要再easySwoole使用路由拦截功能,请在应用目录(默认为App)下,建立Router类,井继承Core\AbstractInterface\AbstractRouter实现addRouter方法,如果在类UNIX系统下请严格注意文

  • 问题内容: 我注意到以下代码将用户重定向到项目内的URL, 然而,以下内容已按预期正确重定向,但需要http://或https:// 我希望重定向始终重定向到指 问题答案: 你可以通过两种方式来实现。 第一: 第二:

  • 我正在测试家庭控制器 我使用spring security作为用户名“user”,默认情况下作为密码进行测试,但@PreAuthorize不起作用 的结果 预期结果: 实际结果: 我错过了什么吗?