SpringMvc中的请求转发和重定向
之前的案例,我们发现request域中的值可以传到jsp页面中,也就是通过视图解析器跳转到视图的底层是请求转发。
如果我们跳转时不想使用视图解析器,可以使用原生HttpServletRequest进行请求转发或HttpServletResponse进行重定向:
@RequestMapping("/c2/hello8") public void myForward1(HttpServletRequest request, HttpServletResponse response) throws Exception{ request.setAttribute("name","666"); // 请求转发 // request.getRequestDispatcher("/c2/h9").forward(request,response); // 原生重定向 response.sendRedirect("/c2/h9"); }
但是SpringMvc其实还有一种更简单的请求转发和重定向的写法
@RequestMapping("/c2/h9") public String myForward3(HttpServletRequest request){ request.setAttribute("name","66"); // 请求转发 return "forward:/c2/h10"; // 重定向 // return "redirect:/c2/h10"; }