jsp中forward跳转和response跳转的区别

来源:互联网 发布:反淘宝联盟yy是多少 编辑:程序博客网 时间:2024/06/05 19:20

在jsp中有两种跳转,客户端跳转和服务器端跳转,,他们之间存在下面4点的区别:(在jsp中)

1.<jsp:forward page=""/>做为服务器端跳转,跳转后地址栏地址是当前地址,而不是目的页面。而response.sensRediresct("")作为客户端跳转地址栏会变成目的页面的地址.

2.客户端跳转当程序执行到此句时,是所有代码执行完成后再执行跳转动作,也就是说其后的代码有被执行的机会,而服务器端的跳转是强硬的,执行到此句时,强制跳转,不执行其后的代码。

3.从传递参数的角度上看,客服端跳转可以通过地址重写的方式传递参数,如response.sendRedirect(*.jsp?ref=pokoo&ref2=pokoo2).而服务器的跳转可以采用<jsp:param name="ref" value="pokoo"/>来传递参数。

4.jsp中有四种属性保存范围,如在当前资源中在request中保存了属性,那么客户端的跳转到目的页是拿不到,request容器里的东西的,而服务器端的跳转可以取到。



注:在servlet中不能有<jsp:forward page=""/>,那服务器跳转是用 RequestDispatcher rd=request.getRequestDispatcher("*.jsp").forward(request,response);