转发与重定向:
- 理解:
- 转发(Dispatcher):只有一次请求,小明向小红借钱,小红说没钱,小红去找小高借了钱给小明。
- 重定向(Redirec):两次请求,小明找小红借钱,小红没钱,让小明找小高借钱,小明找小高借钱。
- 转发(Dispatcher):页面的地址不变,内容跳转到转发的页面,其中的 request response 均不变(forward(request,response))传了。
request.getRequestDispatcher("/").forward(request,response);
- 重定向(Redirec):页面变化,地址也变化到那页面的地址,某些参数也会消失。我们需要考虑到参数的作用域
response.sendRedirect("");
- 区别:
- 转发一次请求,重定向两次
- 转发在最终的servlet中request是一个对象,重定向不是
- 转发的请求只能在当前的web应用下的资源,重定向可以跳转任何资源
- 转发:/:代表当前 WEB 应用的根目录
重定向:/:代表的当前WEB站点的根目录