Application域起始于web应用的启动。当web应用被启动时,服务器就会为这个web应用创建属于它的Application域(在服务器中创建,实际上就是一段内存空间)。当web应用被停止或者服务器关闭时,它的Application域就会被销毁,里面的数据也会消失,不能访问。
一个web应用只有一个Application域,只会创建一次(应用被启动时)。服务器内的每个web应用都有自己的Application域,它们互不影响,每个web应用只能使用属于它的Application域。
Application域是数据共享区,web应用中的任何servlet,jsp等组件都可以访问使用它里面的数据,不同的用户也都可以共享里面的数据。
在servlet类中可以使用ServletContext声明上下文对象,使用getServletContext()实例化声明的上下文对象
上下文对象可以调用setAttribute()和getAttribute()方法向Application域中添加、修改属性或者获取Application域中的属性。
Session域Session域的起始有两种说法,一种是tomcat接收到请求就创建,另一种是需要调用相应的方法request.getSession()才会创建,我更支持第二种,原因将在下一篇文章中说明。Session域的销毁有的人认为是浏览器关闭,有的人认为是超过了Session的保存时间Session域就被销毁,我更正支持第二种,原因将在下一篇文章中说明。
Session域不是数据共享的,每一个用户拥有自己的唯一Session域,当用户向tomcat请求某个servlet并且这个servlet有创建Session的 *** 作,那么tomcat将会为这个用户创建一个Session域(在服务器内,也是一段内存空间),这个Session域只有该用户才能 *** 作,其他用户不能 *** 作,其他用户有他们自己的Session,他们能 *** 作他们自己的Session。Session域的保存时间可以在xml配置文件中设置,超过时间就会被销毁。
同样,session对象也有setAttribute()和getAttribute()方法,用来添加、修改域中的属性和获取属性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)