jsp的两种跳转方式和区别
1.forward跳转:
- 服务器端跳转,地址栏不改变;
- 执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);
- request设置的属性在跳转后的页面仍可以使用;
- 使用<jsp:param name="参数名" value="参数值" />传递参数。
2.response跳转:
- 客户端跳转,地址栏改变;
- 所有代码执行完毕后跳转;
- 跳转后的页面不能使用上一个页面的request属性;
- 使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。
主要区别:
- <jsp:forward page="***"/>做为服务器端跳转,跳转后地址栏地址是当前地址,而不是目的页面。而response.sensRediresct("***")作为客户端跳转地址栏会变成目的页面的地址.
- 客户端跳转当程序执行到此句时,是所有代码执行完成后再执行跳转动作,也就是说其后的代码有被执行的机会,而服务器端的跳转是强硬的,执行到此句时,强制跳转,不执行其后的代码。
- 从传递参数的角度上看,客服端跳转可以通过地址重写的方式传递参数,如response.sendRedirect(***.jsp?k=v&k2=v2),而服务器的跳转可以采用<jsp:param name="key" value="val"/>来传递参数。
- jsp中有四种属性保存范围,如在当前资源中在request中保存了属性,那么客户端的跳转到目的页是拿不到,request容器里的东西的,而服务器端的跳转可以取到。
jsp的两种跳转方式和区别的更多相关文章
- jsp中的两种跳转方式分别是?有什么区别?
在JSP中跳转有两种方式 forward跳转:<jsp:forward page ="跳转页面地址"> response跳转:response.sendRedirect ...
- JSP中的两种跳转方式分别是什么,有什么区别?
forward跳转:<jsp:forward page ="跳转页面地址"> response跳转:response.sendRedirect("跳转页面地址 ...
- Form表单中method=post/get两种数据传输的方式的区别
Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...
- JS的两种函数声明方式的区别
---恢复内容开始--- js中常见的两种函数声明方式如下: // 函数表达式 var f = function() { console.log(1); } // 直接声明 function f () ...
- JSP的几种跳转方式的异同
1 <jsp:foward page="url" /> 服务端跳转,立即跳转,后续语句不会执行: 2 <% response.sendRedirect(" ...
- get和post 两种基本请求方式的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- JS中var声明与function声明两种函数声明方式的区别
JS中常见的两种函数声明(statement)方式有这两种: // 函数表达式(function expression) var h = function() { // h } // 函数声明(fun ...
- Java中String两种不同创建方式的区别及intern的用法
一, Java有两种创建字符串的方式, String str1 = "abc"; String str2 = new String("abc"); 用双引号创建 ...
- Vue中两种跳转方式
第一种:通过标签跳转,<router-link></router-link> 第二种:通过js跳转,定义点击事件进行跳转
随机推荐
- deplyed使用归纳(转自月下独奏)
deployd:一个生成后端数据的软件,简单的说就是大部分的前端不会后端,即使会也很难在深入到数据库进行设置一些前端所需数据的创建与查询的后端程序的书写,所以此时就是deployd大显身手的时候了. ...
- 安装CentOS7
安装环境:虚拟机*1 使用软件:CentOS7镜像*1 安装过程: 虚拟机配置步骤(主要部分): 1.安装为Linux:CentOS 64位 2.分配1G内存(若需求大可根据实际情况分配) 3.分配4 ...
- Android开发——fragment中数据传递与刷新UI(更改控件)
数据传递: 1.通过数据库进行数据的传递 如在fragment中将数据保存在数据库中,之后其他的fragment或者activity直接读取数据库中的数据,数据库使用还算简单,这里就不多说,建议使用l ...
- 【Unity3D】Unity3D开发《我的世界》之一、创建一个面
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/unity_minecraft_01.html 最近总有人问及我的游戏里跟<我的世界>一样的地形是如何实 ...
- 关于我上传的activiti自定义流程demo的说明
最近又收到了一些询问activiti的问题,其中好几个都是向我索要我上传的这个activiti自定义流程demo的数据库设计. 索要的多了,而我早就把这个库给删掉了,所以我便觉得有必要做一个说明: 我 ...
- 一款PHP环境整合工具—VertrigoServ介绍
Vertrigo简介 VertrigoServ 是一个Windows平台下的非常专业的.易于安装的免费网络开发环境,它集成了Apache, PHP, MySQL, SQLite, SQLiteMana ...
- C#连接oracle数据库步骤
1. 确认操作系统类型,操作系统是64位还是32位: 2. 按对应版本安装oralce客户端版本(64位还是32位): 3. 安装oralce管理员模块,同时赋予安装目录权限 4. 注册old ...
- CentOS源码包安装apache、nginx服务
1.通过官网下载apache.nginx源码包 2.进入apache源码包所在目录,解压tar -xf httpd-2.4.12.tar.gz 3.cd httpd-2.4.12 4.阅读README ...
- HTML基础加强
1. 什么是浏览器:解释和执行HTML源码的工具. 2. 什么是静态页面,什么样的页面是动态页面? 静态页面:htm,html(直接读取) 动态网页:asp,aspx,jsp,php(里面有代码请求时 ...
- 对ajax回调函数的研究
1.1开发中遇到的问题 最近开发中我和同事都碰到这样的问题,我们使用jQuery的ajax方法做服务端的校验,在success方法里将验证结果存储到一个js的公共变量或者是页面里的隐藏域,接下来的代码 ...