简述Session对象和Application对象的区别与联系?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述Session对象和Application对象的区别与联系?相关的知识,希望对你有一定的参考价值。

区别好像是:应用范围不同 存活时间不同 还有没其他的??
那么联系又是什么呢、??

Session对象和Application对象都是计算机的存储系统。

区别:

1、作用不同

session对象用于存储特定的用户会话所需的信息 。 Session对象的引入是为了弥补HTTP协议的不足,HTTP协议是一种无状态的协议。

application是应用程序(application program)的缩写。一个应用程序通常是指能够执行某种功能的软件程序。比如,文字处理程序、数据库程序、网络浏览器、开发工具、绘图、图像编辑工具以及通信工具等等都可以是应用程序。

2、应用范围不同

Session中文是“会话”的意思,在ASP中代表了服务器与客户端之间的“会话”。Session的作用时间从用户到达某个特定的Web页开始,到该用户离开Web站点,或在程序中利用代码终止某个Session结束。

Application 对象用于存储和访问来自任何页面的变量,类似于 session 对象。不同之处在于,所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。

3、特点不同

Session与Cookie是紧密相关的。 Session的使用要求用户浏览器必须支持Cookie,如果浏览器不支持使用Cookie,或者设置为禁用Cookie,那么将不能使用Session。

Application 对象握有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。这意味着可以从任何的页面访问这些信息。同时也意味着你可在一个地点改变这些信息,然后这些改变会自动反映在所有的页面上。

参考资料来源:百度百科-Application

参考资料来源:百度百科-Session对象

参考技术A Application与Session对象之间的区别。

1. 应用范围不同。 Session是对应某一个用户的。而Application是整站共用的。

2. 存活时间不同。Session是在站点的页面从打开到被关闭之前一直生存的,关闭或跳转到其它网站就会使Session死掉。而Application是从站点发布以来一直存活的,除非重启了站点服务,IIS。

Session的中文是"会话"的意思,ASP中Session代表了服务器与客户端之间的"会话" 。
利用Session可以存储浏览者的一些特定信息,如:浏览者的姓名、性别、所用浏览器的类型以及访问停留时间等。Session对个人信息的安全性构成了一定的威胁。

Application对象是一个应用程序级的对象,它包含的数据可以在整个Web站点中被所有用户使用,并且可以在网站运行期间持久地保存数据。本回答被提问者采纳
参考技术B Session是散户,Application是基金 参考技术C 简单的说,Session在窗口关闭后就消失了
Application在服务器关闭才消失

联系么,数据都保存在server上算不算联系?

session的原理

网上对于session的讲解很多,我就说说自己的理解吧
1.session是通过键值对存储的。也就是说一个变量名对应一个值,session一般存储在内存中,存储时,输入变量名和值就可以

2.与session类似的有cookie,request,application等等,原理大多一样,区别就在于这些变量的存储有效期和存储范围,cookie一般的有效期根据系统设置不同而不同,主要用在比如用户登录方面,简单来说关闭浏览器时cookie的内容也不会消失。session和cookie差不多,区别就在于关闭浏览器后变量就失效了。
request只是存在于一次画面请求中,也就是说画面提交之后,变量就失效了。
application是全局的,每个用户都会调用到该变量,比如帖子的浏览量信息。
参考技术A 1、session的存放处
容器为每个部署的web应用维护一个context,每个context与一个manager关联,这个manager就管理着所有的session。
2、session的产生时机
当用户在某个地方请求session的时候,实际是这样的:request请求session,首先会找到关联的servletcontext,然后由这个servletcontext找到关联的context,然后由context找到关联的manager,然后调用它的获取session的方法,如果session不存在,则为其创建一个,返回。
3、session的超时
容器有后台线程在执行一些周期性的任务,而检查session是否超时就是其中之一。默认tomcat的session的超时是30分钟,这个值是设置在context的。当后台线程判断出一个session的最后访问时间距离当前的时间时长大于设置的最大空闲时间时,就会将其收回,即失效了。
参考技术B 我理解的session是把一些变量存放到里面,在哪用到都能用到,它可以跨页面式的提交东西,比post取值要方便

以上是关于简述Session对象和Application对象的区别与联系?的主要内容,如果未能解决你的问题,请参考以下文章

session对象和application对象的比较

请简述Hibernate工作原理?

Session对象和Application对象各自的作用和最主要区别是啥?

jsp作业:内置对象的4个作用范围是啥?啥情况下session会关闭?

jsp九大内置对象之session和application

session的原理