JSP:对象(Attribute)的作用域
在JSP中,可以使用request.setAttribute(String name,Object value)进行设置属性并获取,同时也可以使用其他方法,那么他们有什么区别?
一、JSP作用域
- 页面域,生命周期是页面执行期间,存储在页面域的属性对于它所在的页面可用
- 请求域,生命周期是一次请求过程,也包括请求转发的情况(共用同一个请求域)和include的情况,存储在请求域中的属性只有在请求过程中才可以访问
- 会话域,生命周期是整个服务器与客户端连接的时间域内,只要不超过最大不活动时间或者没有被invalidate()调用,存储在会话域的属性可以在整个会话期间访问
- 应用域,生命周期是整个web应用程序的生命周期,是最长的,存储在应用域的属性可以被整个web应用的JSP和servlet访问
二、四种作用域内部对象
1.页面域,pageContext
- getAttribute(String name),根据名字获取域属性值
- removeAttribute(String name),根据名字移除属性值
- getAttributeNamesInScope(int scope),获得所有属性名称
2.请求域,request
- getParameter(String name) 根据参数名获取单一参数
- getParameterValues(String name) 根据参数名获取一组参数值
- setAttribute(String name,Object value) 设置属性
- getAttribute(String name) 获得属性值
3.会话域,session
- setAttribute(String name,Object value),以名\值对形式存储属性
- getAttribute(String name),根据名字获取属性值
- invalidate(),使session失效
4.应用域,application
- setAttribute(String name,Object value),以名\值对形式存储application域属性
- getAttribute(String name),根据名字获取application域属性值
- removeAttribute(String name),根据名字移除application属性值
三、实例:页面访问次数
differVisitCount.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%int pageCount = 1;int sessionCount = 1;int applicationCount = 1;if(pageContext.getAttribute("pageCount") != null){pageCount = Integer.parseInt(pageContext.getAttribute("pageCount").toString());pageCount++;}pageContext.setAttribute("pageCount", pageCount);if(session.getAttribute("sessionCount") != null){sessionCount = Integer.parseInt(session.getAttribute("sessionCount").toString());sessionCount++;}session.setAttribute("sessionCount", sessionCount);if(application.getAttribute("applicationCount") != null){applicationCount = Integer.parseInt(application.getAttribute("applicationCount").toString());applicationCount++;}application.setAttribute("applicationCount", applicationCount);
%>
<p>页面与计数:<%= pageCount %>
</p>
<p>会话域计数:<%= sessionCount%>
</p>
<p>应用域计数:<%= applicationCount%>
</p>
</body>
</html>
运行结果
这里会话域不是1因为我运行了一次然后调用了invalidate函数
JSP:对象(Attribute)的作用域相关推荐
- jsp对象的四大作用域的简单介绍
对象的作用域 page作用域(名字有的说pageContext有的说page,个人觉得是第一个) request作用域 session作用域 application作用域 在jsp中提供了四种作用域, ...
- jsp的九大内置对象和四大作用域
看到网上一些Jsp内置对象介绍的都不是很全,今天我把各位大神的整理了一下. JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用. 一.reque ...
- JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)
JSP的基本构成:HTML文件+Java片断+JSP标签 三大指令:page指令.include指令.taglib指令. page指令: 1.language属性:设置当前页面中编写JSP脚本使用的语 ...
- Java Web(五) JSP详解(四大作用域九大内置对象等)
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...
- html四大作用域,JSP的三六九四(三大指令、六大标签、九大内置对象、四大作用域)...
JSP的基本构成:HTML文件+Java片断+JSP标签 三大指令:page指令.include指令.taglib指令. page指令: 1.language属性:设置当前页面中编写JSP脚本使用的语 ...
- 【JSP】JSP的四种作用域
对象的生命周期和可访问性称为作用域(scope),在JSP中有四种作用域: pageContext:page域 request:request域 session:session域 applicatio ...
- jsp中四个作用域的区别
jsp中四个作用域的区别 JSP内置对象作用域表 名称 作用域 application 在所有应用程序中有效 session 在当前会话中有效 request 在当前请求中有效 page 在当前页面有 ...
- 用代码演示:JSP的4个作用域
用代码告诉你:JSP的4个作用域 1.JSP中的作用域有什么用? 2.哪4个作用域? 3.作用域之间的区别 3.1 pageContext对象 3.2 request对象 3.3 session对象 ...
- jsp 的 4 种作用域?
jsp 的 4 种作用域? 作用域 名称 描述 page 当前页面作用域 相当于 Java 关键字中 this.在这个作用域中存放的属性值,只能在当前页面中取出. request 请求作用域 ...
- 一篇文章带你了解JavaScript中的函数表达式,递归,闭包,变量,this对象,模块作用域
作者 | Jeskson 来源 | 达达前端小酒馆 定义函数的方式: 第一种为 函数声明: 第二种为 函数表达式. 语法: function functionName(arg0, arg1, arg2 ...
最新文章
- python布尔测试对象_面试题十九期-测试开发面试题之python系列-这个中~
- 【BUG】小米5中 video.js 在钉钉 webview 中全屏后 后退无法弹出虚拟键盘
- Service Mesh 实践指南:从单体应用到 Service Mesh 的曲折历程
- rateLimiter令牌桶限流算法
- 噪声控制简史,以及几个简单的声学概念
- 将字符串中的小写字母转换成大写字母 (信息学奥赛一本通-T1138)
- 线性代数知识点总结_[Github项目推荐] 机器学习amp; Python 知识点速查表
- android通过WebView的evaluateJavascript()调用JS
- 360搭建windows补丁服务器
- cad字体渐变_CAD制造特效字体
- xlsx表格怎么做汇总统计_excel考勤统计表汇总怎么做
- 网络创业:网站盈利模式分析分类
- 引央视主播康辉大笑的度晓晓,是个只会吹彩虹屁的 AI 助手吗?
- android 阿里hotfix,Android 热修复方案--阿里百川HotFix
- 获取复选框的被选中的值
- 罗技键盘连计算机,罗技键盘怎么连接电脑
- AAC音频文件添加ADTS头
- AD转换中知道数字量计算模拟量或温度
- 【信号与系统】(二十)傅里叶变换与频域分析——取样定理
- 小学数学加减法测试软件,儿童数学练习智能出题系统