您的位置:首页 > 其它

Servlet的两种转向的区别

2013-01-05 20:54 232 查看
在Servlet中,转向到其它Servlet和JSP的时候,可以通过两种方式实现,一种使用response对象的sendRedirect()方法,另外一种是使用RequestDispatcher对象的forward()方法

I.
response.sendRedirect("转向Servlet或JSP的相对路径,要带Web项目名称");

II. RequestDispatcher
rd=request.getDispatcher("转向Servlet或JSP的相对路径,不带Web项目名称");

rd.forward(request,response);
1.rd.forward(request,response)是请求转发,前后页面共享一个request ,可以读取转向前request对象通过setAttribute()方法所设定的属性值。response.sendRedirect()是重新定向
前后页面不是一个request,不可以读取转向前request对象通过setAttribute()方法所设定的属性值。

2.rd.forward(request,response)转向后,地址栏显示的地址是转向前原Servlet的地址,response.sendRedirect()地址栏显示的地址是所转向到的Servlet或者JSP的地址。

3.rd.forward(request,reponse)不可以转向到本Web应用之外的页面和网站,转向的速度相对要快,response.sendRedirect()可以转向到本Web应用之外的页面和网站,转向的速度相对要慢

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: