在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);
本文详细阐述了JSP中服务器端跳转与客户端跳转的四个关键区别,包括跳转地址栏行为、代码执行时机、参数传递方式及作用域范围,并通过实例说明了两者在实际开发中的应用。
731

被折叠的 条评论
为什么被折叠?



