请求重定向
代码: response.sendRedirect(url);
浏览器执行俩次,浏览器的url会发生变化,相当于浏览器请求响应了俩次
请求转发
代码: request.getRequestDispatcher(url).forward(request,reponse);
转发是服务器内部进行的,浏览器只执行一次,因为转发是服务器内部的,所以url 不用写项目名,默认当前项目,所以转发只能在本网站内部,同意的情况,因为转发在项目内,所以效率高一些
区别
注:/的问题。(在客户端浏览器执行的/代表8080下,在服务器端执执行的/代表当前应用下)
0.转发服务器内部执行,重定向是浏览器执行
1.转发的地址栏没有变化,重定向的地址栏发送了变化.
2.转发一次请求一次响应,重定向是两次请求两次响应.
3.转发的路径不需要写工程名,重定向的路径需要加工程名.
4.转发只能在本网站内部,重定向可以定向到任何页面.
5.转发可以传递数据,重定向不能传递数据。