转发:客户端向服务器发送请求,服务器直接给客户端作出响应
request.getRequestDispatcher("目标地址").forward(request, response);
重定向:客户端发送请求给服务器,服务给浏览器发送302状态码,告诉浏览器去访问新的地址
response.sendRedirect("目标地址");
转发和重定向的区别:
1.转发地址栏不发生变化;重定向地址栏会发生变化
2.转发往服务器发送一次请求;重定向往服务器发送两次请求
3.转发可以访问WEB-INF下的资源;重定向不能访问WEB-INF下的资源;
WEB-INF下的资源对应浏览器的请求有隔离;
4.转发是在服务器内部完成,浏览器感知不到;重定向给服务区发送302状态码,告诉浏览器访问新的地址;