文章目录
四种属性范围
graph LR
A((同一页面)) -->B((同一请求))
B-->C((同一用户))
C-->D((同一项目))
-
pageContent
不可以跨页面传输数据 限于本页面内传输数据 创建页面对象时创建 页面关闭则回收pageContext.setAttribute(key,value); pageContext.getAttribute(key);
-
request
内置对象只在当前请求有效 在服务器内跳转时数据不丢失 但在客户端浏览器跳转则会 当请求被接受时创建request.setAttribute(key,value); request.getAttribute(key);
-
session
内置对象在一个会话有效(无论是服务器或者浏览器跳转)一个浏览器只发出一个会话 跨页面和请求
session
内置对象不应存过多数据
因为存tomcat
服务器内,会一直保持数据,默认30分刷新一次(客户端无任何操作时)第一次
请求的发送时创建(sessionID) 销毁时间不确定session.setAttribute(key,value); session.getAttribute(key);
-
application
内置对象在一个服务器期间内有效 无论跨浏览器或者服务器浏览器跳转 故更不应该存大量数据 数据会一直保持 而且任何用户可获取(统计在线人数 现时间)
释放application
只有重启服务器才可以application.setAttribute(key,value); application.getAttribute(key);
内置对象数据(属性值 非参数值)的保存会占用服务器内存 数据其实都是存在服务器内部 数据过多则会降低服务器性能 可以满足要求下优先使用前面的属性范围