千家信息网

Spring MVC controller怎么处理301跳转

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本篇内容主要讲解"Spring MVC controller怎么处理301跳转",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Spring MVC cont
千家信息网最后更新 2024年11月26日Spring MVC controller怎么处理301跳转

本篇内容主要讲解"Spring MVC controller怎么处理301跳转",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Spring MVC controller怎么处理301跳转"吧!

一、 SpringMVC301,302跳转

spring mvc项目是spring的一个子项目用于处理视图层的请求。
302跳转很简单:

@RequestMapping(value = "blog.html")public String rindex() { return "redirect:/blog";}

按照不重复造轮子的理念,其实301跳转也很简单:

@RequestMapping(value = "blog.html")public RedirectView rindex(HttpServletRequest request) {        RedirectView redirectView = new RedirectView("/blog");        redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY);        return redirectView;       }

spring mvc 提供了一个专门用于处理各种重定向的view视图。
跳转结果如下图:

其它各种实现如:

response.setStatus(301);
response.setHeader("Location", "https://www.xxxx");

二、 Redorect跳转传参

Redorect传参3种方式

第一种:手动拼接url

new ModelAndView("redirect:/toList?param1="+value1+"¶m2="+value2);
这样有个弊端,就是传中文可能会有乱码问题,需要自己处理。


第二种:RedirectAttributes attributes

这里用它的addAttribute方法,这个实际上重定向过去以后你看url,是它自动给你拼了你的url。
使用方法:
public String test(RedirectAttributes attributes)
{
attributes.addAttribute("test", "hello");
return "redirect:/test/test2";
}

第三种:ModelAndView在model加上属性

ModelAndView model = new ModelAndView("redirect:/main/index");
model.addObject("userName", userName); //把userName参数带入到controller的RedirectAttributes
return model;

到此,相信大家对"Spring MVC controller怎么处理301跳转"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0