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

一: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等方式传递。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值