重定向
重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置
重定向的特点:
地址栏:显示新的地址
请求次数:2次
请求域中的数据会丢失,因为是2次请求
HttpServletResponse resp;
resp.sendRedirect();
转发
由服务器端进行的页面跳转。
转发的特点:
浏览器地址栏路径不发生变化。
只能转发到当前服务器内部资源中。
转发是一次请求。
请求域中数据不会丢失。
HttpServletRequest req;
req.getRequestDispatcher()
重定向和转发的使用
如果要保留请求域中的数据,使用转发,否则使用重定向。
以后访问数据库,增删改使用重定向,查询使用转发。
SpringMVC的重定向和转发:
// 转发
@RequestMapping("/hello/s1")
public String test1() {
return "/test";
}
// 转发
@RequestMapping("/hello/s2")
public String test2() {
return "forward:/WEB-INF/jsp/test.jsp";
}
// 重定向
@RequestMapping("/hello/s3")
public String test3() {
return "redirect:/test.jsp";
}