教你如何实现SpringCloud URL的重定向及转发

  <强>这篇文章主要介绍了SpringCloud URL重定向及转发代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下   
  

Web UI项目中,很春天多控制器视图函数直接返回html页面,还有一些视图函数是要重定向或转发到其他的url上。

  

重定向和转发的区别:

  

重定向重定向:完整的重定向包含两次请求-响应过程,第一次是访问原始url,第二次是服务器通知客户端访问重定向后的url。重定向完成后,浏览器的地址是重定向后的url,而不是原始的url。

  

重定向的使用场景:因为重定向会修改浏览器地址,所以形式提交应该使用重定向,以免用户刷新页面导致形式重复提交。

  

转发转发:完整的转发仅包含一次请求-响应过程,用户发出请求后,服务器端视图函数先处理自己的逻辑,然后在服务器端有调用另一个视图函数,最后将反应返回给浏览器。

  

示例:   

 @RequestMapping (“/?
  public  class  DemoController  {
  ,
  ,/*
  ,,*,forward 示例:,以字符串的形式构建目标url, url 需要加上,转发:,前缀
  ,,*,*/@RequestMapping才能(“/forwardTest1")
  public 才能;String  forwardTest1 (), {
  ,,,return “转发:/forwardTarget ? param1=v1 ? m2=v2";
  ,,}
  ,
  ,
  ,/*
  ,,*,forward 示例:,使用,ModelAndView(),设置转发的目标url
  ,,*,*/@RequestMapping才能(“/forwardTest2")
  public 才能;ModelAndView  forwardTest2 (), {
  ,,,ModelAndView 飞行器=new  ModelAndView (“/forwardTarget");,//,绝对路径
  ,,,//ModelAndView 飞行器=new  ModelAndView (“forwardTarget");,//,相对路径也好的
  ,,,mav.addObject (“param1",,“value1");
  ,,,mav.addObject (“param2",,“value2");
  ,,,return  mav ;
  ,,}
  ,
  ,
  ,/*
  ,,*,redirect 目标有三种构建方式
  ,,*,1只使用,重定向:,前缀url方式构建目标url
  ,,*,2只使用,RedirectView 类型指定目标
  ,,*,3只使用,ModelAndView 类型指定目标,,ModelAndView 视图名默认是向前,,所以对于重定向,,需要加上,重定向:,前缀
  ,,*,*/@RequestMapping才能(“/noParamRedirect")
  public 才能;RedirectView  noParamTest (), {
  ,,,return  new  RedirectView (“http://www.qq.com");
  ,,}
  public 才能;String  noParamTest2 (), {
  ,,,return “重定向:http://www.qq.com";
  ,,}
  }
  @RequestMapping (“/?
  public  class  DemoController  {
  ,/*
  ,,*,forward 示例:,以字符串的形式构建目标url, url 需要加上,转发:,前缀
  ,,*,*/@RequestMapping才能(“/forwardTest1")
  public 才能;String  forwardTest1 (), {
  ,,,return “转发:/forwardTarget ? param1=v1 ? m2=v2";
  ,,}
  ,/*
  ,,*,forward 示例:,使用,ModelAndView(),设置转发的目标url
  ,,*,*/@RequestMapping才能(“/forwardTest2")
  public 才能;ModelAndView  forwardTest2 (), {
  ,,,ModelAndView 飞行器=new  ModelAndView (“/forwardTarget");,//,绝对路径
  ,,,//ModelAndView 飞行器=new  ModelAndView (“forwardTarget");,//,相对路径也好的
  ,,,mav.addObject (“param1",,“value1");
  ,,,mav.addObject (“param2",,“value2");
  ,,,return  mav ;
  ,,}
  ,/*
  ,,*,redirect 目标有三种构建方式
  ,,*,1只使用,重定向:,前缀url方式构建目标url
  ,,*,2只使用,RedirectView 类型指定目标
  ,,*,3只使用,ModelAndView 类型指定目标,,ModelAndView 视图名默认是向前,,所以对于重定向,,需要加上,重定向:,前缀
  ,,*,*/@RequestMapping才能(“/noParamRedirect")
  public 才能;RedirectView  noParamTest (), {
  ,,,return  new  RedirectView (“http://www.qq.com");
  ,,}
  public 才能;String  noParamTest2 (), {
  ,,,return “重定向:http://www.qq.com";
  ,,}
  }
  

以上就是本文的全部内容,希望对大家的学习有所帮助。

  

原文地址:   https://www.linuxprobe.com/springcloud-url-linux.html

教你如何实现SpringCloud URL的重定向及转发