forword和sendRedirect区别
forword

- forword()方法是转发,sendRedirect是重定向。
1)浏览器访问Servlet1;
2)Servlet1想让Servlet2对客户端的请求进行响应,于是调用forword()方法,将请求转发给Servlet2进行处理。
3)Servlet2对请求做出响应。
sendRedIrect

- 交互过程如下:
1)浏览器访问Servlet1;
2)Servlet1想让Servlet2为客户端服务;
3)Servlet1调用sendRedirect()方法,将客户端的请求重定向到Servlet2;
4)浏览器访问Servlet2;
5)Servlet2对客户端的请求做出响应。
forword和sendRedirect的不同
- 转发(forword):浏览器地址不会改变,始终是同一个请求。
- 重定向(sendRedirect):浏览器地址会改变,用两个请求。
- 1)转发
a)地址栏不会改变
b)转发只能转发到当前web应用内的资源
c)可以在转发过程中,可以把数据保存到request域对象中 - 2)重定向
a)地址栏会改变,变成重定向到的地址
b)重定向可以跳转到当前web应用,或其他web应用,甚至是外部域名网站
c)不能再重定向的过程,把数据保存到request中。
request.getRequestDispatcher("/xxx").forward(request,response);
response.sendRedirect(request.getContextPath()+"/xxx");