servlet三种请求转发方法的区别
一、三种方法:
A:request.getRequestDispatcher("url").include(request,response);
B:request.getRequestDispatcher("url").forward(request,response);
C:response.sendRedirect("url");
url为某页面或者某地址或者一个servlet
二、区别:
1、路径:三种方法不管哪一种,路径url都要被该方法所在的servlet类截取。返回给用户的信息在浏览器地址栏上,C方法将跳转至url所指定的路径,而AB则显示原有路径
2、AB是在服务器上的反应,不可以请求到非项目内部的页面,而C则可以(如跳转到百度“http://www.baidu.com")。因为C把服务器(servlet)当作一个中转站,C先是请求服务器,服务器返回信息让用户再发送请求到目标地址url
3、Include和forward的页面信息区别:forward意为跳转,用户请求使用该方法后则直接跳转到url,页面信息都是url的。Include意为包括,用户请求使用该方法后跳转到的页面不但有url页面的信息,还有该方法所在的servlet所在页面的信息。