2017.11.11 详谈application、session、request和page的作用范围
今天在图书馆遇到了问题 不知道怎么选择session还是request
**Web应用中的JSP和servlet都是由web服务器来调用,Jsp和Servlet之间通常不会相互调用,那么Jsp和Servlet之间交换数据就要用到application、session、request和page **
1、application:对于整个web应用有效,一旦JSP、Servlet将数据放入appllication中,该数据将可以被该应用下其他所有的JSP和Servlet访问。
2、session:仅对一次会话有效,一旦JSP、Servlet将数据放入session中,该数据将可以被本次会话的其他所有的JSP、Servlet访问。
3、request:仅对本次请求有效,一旦JSP、Servlet将数据放入request中,该数据将可以被该次请求的其他JSP、Servlet访问。
4、page:仅对当前页面有效,一旦JSP、Servlet将数据放入page中,该数据只可以被当前页面的JSP脚本、声明部分访问。
**JSP中的application、session、request和pageContext 这四个内置对象分别用于操作application、session、request和page范围中的数据。 **
application对象代表web应用本身,因此使用application来操作web应用相关数据。
application对象通常有两个作用:
1、在整个Web应用的多个JSP、Servlet之间共享数据。
2、访问Web应用的配置参数。
session长驻在服务器内存里,session有id标识,一个session专供一个用户使用。
request只能存在于一次访问里,为了让每次访问区分开是哪个用户,所以request中会带上session的id标识,就是每个request都会属于一个session,一个session能为很多次request服务。类似于数据库的多对一关系
所以request.getSession的本质是使用request中的session id去找到这个用户对应的session
第二种
1.request
request对象内数据的存活范围就是在request对象的存活范围内,当客户端向服务器端发送一个请求,服务器向客户端返回一个响应后,该请求对象就被销毁了;之后再向服务器端发送新的请求时,服务器会创建新的request对象,该request对象与之前的request对象没有任何关系,因此也无法获得在之前的request对象中所存在的任何数据。
2.session
session对象内数据的存活范围也就是session对象的存活范围(现在可以这样简单理解:只要不关闭浏览器,session对象就会一直存在(严谨的说这样的说法是错误的!)),因此在同一个浏览器窗口中,无论向服务器端发送多少请求,session对象只有一个。
3.application
application(应用对象):存活的范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在。在整个服务器运行过程当中,application对象只有一个。
java中request/session/application三大域对象的作用范围
//只要服务器不关闭,计数器一直有效,即使在不同的浏览器内访问!
//若把application换成session,只能在一个会话中有效,关闭浏览器计数器就不在有效
//若把application换成request,每次刷新浏览器进行请求时,计数器只显示1
2017.11.11 详谈application、session、request和page的作用范围的更多相关文章
- application、session、request、page的作用范围、Application,Session和Cookie的区别
Web应用中的JSP和servlet都是由web服务器来调用,Jsp和Servlet之间通常不会相互调用,那么Jsp和Servlet之间交换数据就要用到application.session.requ ...
- JSP的内置对象application、session、request、page的作用域
1.application内置对象的类型名称为ServletContext. 2.session内置对象的类型名称为HttpSession. 3.application作用域:对应整个应用上下文. a ...
- Action的搭建及application、request、Session的运用 多种方法
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 2017年11月Dyn365/CRM用户社区活动报名
UG是全球最大Dynamics的用户组织,由最终用户自发组织,由行业有经验的专家自愿贡献知识和经验的非营利机构,与会人员本着务实中立的态度,不进行推介产品,服务以及其他营销行为.在美国,微软Dynam ...
- .NET CORE 使用Session报错:Session has not been configured for this application or request
报错信息:Session has not been configured for this application or request 解决方案:在Startup.cs文件中的Configure方法 ...
- WPS 表格筛选两列相同数据-完美-2017年11月1日更新
应用: 1.选出A列中的数据是否在B列中出现过: 2.筛选出某一批序号在一个表格里面的位置(整批找出) 3.其实还有其他很多应用,难描述出来... ... A列中有几百的名字,本人想帅选出B列中的名字 ...
- 2017年11月GitHub上最热门的Java项目出炉
2017年11月GitHub上最热门的Java项目出炉~ 一起来看看这些项目你使用过哪些呢? 1分布式 RPC 服务框架 dubbohttps://github.com/alibaba/dubbo S ...
- 2017.11.11 B201 练习题思路及解题方法
2017.11.11 B201 练习题思路及解题方法 题目类型及涵盖知识点 本次总共有6道题目,都属于MISC分类的题目,涵盖的知识点有 信息隐藏 暴力破解 音轨,摩斯电码 gif修改,base64原 ...
- 【主席树维护mex】 【SG函数递推】 Problem H. Cups and Beans 2017.8.11
Problem H. Cups and Beans 2017.8.11 原题: There are N cups numbered 0 through N − 1. For each i(1 ≤ i ...
随机推荐
- 配置MapReduce程序运行环境
已安装eclipse,hadoop 查看教程dblab.xmu.edu.cn/blog/hadoop-build-project-using-eclipse/
- vue首次赋值不触发watch(deep immediate handler)
deep:默认值是 false,代表是否深度监听.immediate:true代表如果在 wacth 里声明了之后,就会立即先去执行里面的handler方法,如果为 false就跟我们以前的效果一样, ...
- appium手机自动化环境搭建
在robotframework环境安装完成的基础上进行如下安装,如果没有安装rfs环境,请先参考robotframework安装文章:Robot Framework的环境搭建 文件下载地址:链接:ht ...
- requirej入门(一)
随着网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式,我们需要团队协作.模块复用.单元测试等等一系列复杂的需求 ...
- Silverlight 用户代码未处理 TypeLoadException
在Silverlight中动态创建Enum时,多次调用改方法出现上图所示错误,后来发现定义名称都是一样的, 在程序中声明全局变量去区别就可以了. int num = 1; private Type C ...
- Unity Screen Screen.SetResolution 设置分辨率
Screen.SetResolution 设置分辨率 C# => public static void SetResolution(int width, int height, bool ful ...
- Trace Logging Level
Trace In functions which support this level, details every parameter and operation to help diagnose ...
- stm32 输入捕获学习(一)
输入捕获模式可以用来测量脉冲宽度或者测量频率.STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能.STM32 的输入捕获,简单地说就是通过检测 TIMx_CHx 上的边沿信 ...
- 我的2015plan
工作(熟悉业务流程,知道来龙去脉,提出改进优化,争取p6) 技术(读1个开源代码.多线程.网络编程) 技术类书籍(c++.python得深入) 读书(历史.经济.传记类) 状态(融入.投入.高效.平衡 ...
- 网页URLs
Extending Python Interpretor: https://docs.python.org/3/extending/index.html Aliyun Mriirors: https: ...