9.SpringMVC请求转发和重定向

 

请求转发和重定向

  1. 请求转发:一次请求一次响应,只能在服务器内部转发,页面发生变化客户端不知道,客户端所看到的地址不变

  2. 重定向:两次请求两次响应,可以重定向到其他服务器,页面的url会发生变化

1.Servlet的请求转发和重定向

(1)请求转发

1
2
3
4
5
6
try {
httpServletRequest.getRequestDispatcher("WEB-INF/view/success.jsp").forward(httpServletRequest, httpServletResponse);
} catch (ServletException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

(2)重定向

1
2
3
4
5
6
try {
httpServletResponse.sendRedirect("WEB-INF/view/success.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

2.SpringMVC的请求转发和重定向

(1)请求转发

两种方式:

  1. return modelAndView;
  2. return “String”;
1
2
3
4
5
6
@RequestMapping("testForward")
public ModelAndView testForward() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("/WEB-INF/view/success.jsp");
return modelAndView;
}
1
2
3
4
@RequestMapping("testForward")
public String testForward() {
return "/WEB-INF/view/success.jsp";
}

(2)重定向

1
2
3
4
@RequestMapping("testRedirect")
public String testRedirect() {
return "redirect:/index.jsp";
}