1、本文内容3个知识点
- SpringMVC中转发如何实现?
- SpringMVC重定向如何实现?
- 重定向3种传参方式
2、转发
2.1、servlet原生实现转发
request.getRequestDispatcher(path).forward(request,response);
2.2、SpringMVC实现转发
接口需满足下面这3条的会被SpringMVC当做转发进行处理
- 接口返回值为String类型
- 返回值格式:
forward:转发的路径
- 方法或者类上不要标注@ResponseBody注解
案例代码如下,当访问/forward/test1
的时候,返回值以forward:
开头,SpringMVC会将请求转发到/forward/test2
@RequestMapping("/forward/test1")
public String test1() {
return "forward:/forward/test2";
}
@RequestMapping(value = "/forward/test2", produces = "text/html;charset=UTF-8")
@ResponseBodypublic String test2() {
return "我是test2";
}
测试效果:浏览器中访问/forward/test1
输出
3、重定向
3.1、servlet原生实现重定向
response.sendRedirect(url);
3.2、SpringMVC实现重定向
接口需满足下面这3条的会被SpringMVC当做转发进行处理
- 接口返回值为String类型
- 返回值格式:
redirect:重定向的路径