基本环境
只需要在controller里面添加如下代码就可以实现请求转发和请求重定向了
在controller里面的实现代码
package hrllo.demo.boot.controller;
import hrllo.demo.boot.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
/**
* @author Marston
* @date 2021/9/26
*/
@Controller
//给类配置路径,以后请求这个controller里面的方法时,需要加上这个类
@RequestMapping("test")
public class TestController {
//..................
//测试请求转发
@RequestMapping("t5")
public String test5(HttpServletRequest request){
request.setAttribute("str","我是请求转发的test5这个方法");
return "forward:result";//将这个请求转发到result这个方法中去,相对路径
}
//测试请求重定向
@RequestMapping("t6")
public String test6(HttpServletRequest request){
return "redirect:result";//相对路径
}
//接收转发和重定向的结果
@RequestMapping("result")
@ResponseBody//因为在这里有响应,所以有这个响应体
public String result(HttpServletRequest request){
String result = request.getAttribute("str")+"";
return "请求转发过来的str的值:"+result;
}
}
效果