jsp的四种范围
jsp有四种范围,可以说是四种对象,这四种对象对应不同的作用范围,所以我们说jsp中的四种范围,这四种范围作用域由大到小分别是page>request>session>application
利用这四个对象最常用的就是传值,在一个地方设置值,在另一个地方获取值,之前在一篇文章中写到了传值
这四种范围除了page用pageContext来设置和获取,其他都可以用本对象名来设置和获取
page:pageContext.setAttribute("key","value")设置变量,pageContext.getAttribute("key","value")获取变量
request:request.setAttribute("key","value")设置变量,request.getAttribute("key","value")获取变量
session:session.setAttribute("key","value")设置变量,session.getAttribute("key","value")获取变量
application:application.setAttribute("key","value")设置变量,application.getAttribute("key","value")获取变量
page:
page代表的是当前页面,所以他的范围只是当前页面,在jsp经过编译后的java代码文件中有这么一句,也就是说在jsp页面中this代表的就是page当前页面,一个jsp中有
一个page,所以不能通过page在不同页面中传值
request:
request的范围是一次请求,在不同的页面之间可以用request来传值,条件是不可以用重定向,必须要用转发,转发和重定向的区别是:转发在服务器端进行不和用户
的客户端发生交互,在服务器的两个页面之间执行转发,用户的浏览器上的网址不发生改变,而重定向是服务器返回给客户端的浏览器,通过浏览器再向服务器发送一次请求,
等于和客户端发生了一次交互,浏览器上的网址发生改变。重定向和转发对应的是分贝对应的是两次请求和一次请求。通过<jsp:forward page= "……jsp"/>实现两个页面之间的
转发。
session:
session 代表的范围是一次会话,用户初次访问的时候,产生一次会话,当时间超时或者关闭当前会话的时候(关闭当前浏览器,再打开一个浏览器),session失
效,在当前会话期间,所有的页面之间是共享的。
application:
application 作用域最大,可以理解为一个全局变量,创建之后,只要服务器开启就一直有效,直到服务器关闭。在所有的页面之间共享,即使是再次打开浏览器。
所以在程序中不宜创建过多的application,会带来资源上的消耗。
jsp的四种范围的更多相关文章
- jsp中四种传递参数的方法
jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...
- 牛客网Java刷题知识点之什么是JSP、JSP有哪些优点、JSP的9大内置对象、JSP的四大域对象、JSP的四种范围
不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21175&query=&asc= ...
- JSP中四种属性保存范围(1)
一.四种属性范围 在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效request:在一次服务请求范围内,服务器跳转后依然有效session:-在一次会话范围内,无论何种跳 ...
- (转)JSP中四种传递参数的方法:
1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="index.jsp"?a= ...
- JSP中四种属性保存范围(2)
1.session <%@ page language="java" contentType="text/html" pageEncoding=" ...
- JSP中四种传递参数中文乱码问题
查看来源:http://blog.csdn.net/hackerain/article/details/6776083
- jsp九大内置对象、四种作用域、跳转方式
jsp有四种属性范围: page -> 页面级别,显然只有在一个页面内可用. request -> 请求级别 服务器跳转,一次请求之后消失. session -> 会话级别 客户端跳 ...
- JSP九大内置对象和四种属性范围解读
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九 ...
- jsp的两种跳转方式和区别
1.forward跳转: 服务器端跳转,地址栏不改变: 执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源): request设置的属性在跳转后的页面仍可以使用: 使用&l ...
随机推荐
- 快速掌握Shell编程
作者原创作品,转载请注明出处 (一)Shell编程概述 1.1 shell简述 Shell编程和JavaScript非常相似,Shell和JavaScript都是弱类型语言,同时也都是解释型语言.解释 ...
- linux ftp及C/S服务架构
乱码转换工具使用convmv软件:windows中文字符编码为GB2312 linux中文字符编码为utf-8选项:-f:源文件中中文字符编码-t:转换成字符编码-r:代表递归--notest:不测试 ...
- 【前端】JavaScript中prototype和__proto__的区别
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/prototype.html 经常有小伙伴问我关于prototype和__proto__的问题,觉得有必要写一篇博客 ...
- 【dedecms】DEDE列表页调用文章内容第一张图片(非缩略图)方法
打开 ../ include/ common.func.php 添加代码 //将缩放图转变为文章第一张图片 function firstimg($str_pic) { $str_sub=substr( ...
- Flash Builder4破解步骤
Flash Builder4破解步骤 1.安装Flash Builder4.0试用版 2.找到Flash Builder4的安装路径,查找如下相应的文件 3.修改如下文件下的文件 (1)找到Adobe ...
- Caused by:org.hibernate.DuplicateMappingException:Duplicate class/entity/ mapping
1.错误描述 java.lang.ExceptionInInitializerError Caused by:org.hibernate.InvalidMappingException:Could n ...
- directX播放程序
enum PLAYSTATE {Stopped, Paused, Running, Init};PLAYSTATE g_Current=Init;HWND ghApp;HINSTANCE g ...
- fineuploader使用实例
1.Fine Uploader特点 Fine Uploader Features: A:支持文件上传进度显示. B:文件拖拽浏览器上传方式 C:Ajax页面无刷新. D:多文件上传. F:跨浏览器. ...
- Vue指令总结---小白同学必看
今天主要复习一下我们最熟悉vue指令,想要代码撸得快,就要多看书,多看看官方的文档和学习指令,学习编程是一个非常享受的过程,尤其是你不断地去解决问题,获得一项技能,实现薪水的上涨.进行Vue的指令烹饪 ...
- pat1101-1110
1101 #include<cmath> #include<map> #include<iostream> #include<cstring> #inc ...