您的位置:首页 > 编程语言 > Java开发

servlet中二种方式的跳转和应用区别

2016-12-12 10:43 225 查看
一:response.sendRedirect("user.jsp");
它是向客户浏览器发送页面重定向指令,浏览器接收后将向web服务器重新发送页面请求,所以执行完后浏览器的url显示的是跳转后的页面
1:这种方式的跳转可以将页面跳转到任何地方,例如其它网站,不仅限于本WEB应用中。
2:跳转后地址栏上的地址会发生变化,地址会变成我们跳转后的页面地址
3:需要传递参数的话,只能带在url后面或者session中,不能通过request.setAttribute传递参数

二:
RequestDispatcher requestDispatcher = request.getRequestDispatcher("user.jsp");
requestDispatcher.forward(request, response);
它是直接在服务器中进行处理,将处理完后的信息发送给浏览器进行显示,所以完成后在url中显示的是跳转前的页面。在forward的时候将上一页面中传送的 request和response信息一同发送给下一页面(而response.sendRedirect不能将上一页面的request和 response信息发送到下一页面)。由于forward是直接在服务器中进行处理,所以forward的页面只能是本服务器的。
1:这种方式的跳转页面仅限于本WEB应用,不能跳转到其它应的地址中
2:跳转后浏览器中的地址不会发生变化
3:参数可以通过url,session,request.setAttributet等方式传递。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息