博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp的两种跳转方式和区别
阅读量:6967 次
发布时间:2019-06-27

本文共 718 字,大约阅读时间需要 2 分钟。

1.forward跳转:

  •   服务器端跳转,地址栏不改变;
  •   执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);
  •   request设置的属性在跳转后的页面仍可以使用;
  •   使用<jsp:param name="参数名" value="参数值" />传递参数。

2.response跳转:

  •   客户端跳转,地址栏改变;
  •   所有代码执行完毕后跳转;
  •   跳转后的页面不能使用上一个页面的request属性;
  •   使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。

主要区别:

  1. <jsp:forward page="***"/>做为服务器端跳转,跳转后地址栏地址是当前地址,而不是目的页面。而response.sensRediresct("***")作为客户端跳转地址栏会变成目的页面的地址.
  2. 客户端跳转当程序执行到此句时,是所有代码执行完成后再执行跳转动作,也就是说其后的代码有被执行的机会,而服务器端的跳转是强硬的,执行到此句时,强制跳转,不执行其后的代码。
  3. 从传递参数的角度上看,客服端跳转可以通过地址重写的方式传递参数,如response.sendRedirect(***.jsp?k=v&k2=v2),而服务器的跳转可以采用<jsp:param name="key" value="val"/>来传递参数。
  4. jsp中有四种属性保存范围,如在当前资源中在request中保存了属性,那么客户端的跳转到目的页是拿不到,request容器里的东西的,而服务器端的跳转可以取到。

转载于:https://www.cnblogs.com/duzhentong/p/7816536.html

你可能感兴趣的文章
我的友情链接
查看>>
SNMP简介
查看>>
8.python之面相对象part.5(子类调用父类的方法,以及super关键字)
查看>>
Mysql DBA 高级运维学习之路-MySQL备份与恢复实战案例及生产方案
查看>>
(六)Maven之pom.xml文件简单说明
查看>>
CVPR 2017 Paper list
查看>>
Android开发学习——高德地图的实现
查看>>
结对开发 随机产生二维数组并求最大子数组的和
查看>>
jquery 实现全选反选
查看>>
样式重置
查看>>
美女大学生为什么五次面试失败
查看>>
如何杀掉(kill)Oracle中的会话(Session)
查看>>
ESP定律的原理
查看>>
opcode的执行
查看>>
管理大量定时任务,如果高效触发超时?
查看>>
input file图片上传预览
查看>>
悲催的FC SAN 存储
查看>>
LYNC2013部署系列PART6:边缘部署
查看>>
LNMP搭建与环境配置
查看>>
Linux B Shell 常用参考速查之总结
查看>>