JavaWeb的四大域对象总结

JavaWeb的四大域对象总结

四个域的作用域范围大小:

PageContext(jsp页面)<request(一次请求)<Session(一次会话)<ServletContext(整个web应用)

1.ServletContext域对象 – 代表整个WEB应用的对象
生命周期:
在WEB应用被加载之后立即创建ServletContext对象
服务器关闭或者WEB应用被移出容器时将会销毁ServletContext对象。
作用范围:整个WEB应用
主要功能:在整个WEB应用范围内实现资源的共享

2.Session域对象 – 表示整个会话的对象
生命周期:
当第一次调用request.getSession方法是将会创建Session对象
(1)超时销毁:超时30分钟没有操作session,将会超时销毁
(2)自杀:当调用session.invalidate方法时,会立即销毁session
(3)意外身亡:服务器非正常关闭,session会销毁 (如果是正常关闭,session会序列化保存到服务器的work目录下.)
作用范围:整个会话范围内
主要功能:在整个会话范围内实现资源的共享
3.request域对象 —-表示Http请求的对象
生命周期:一次请求开始时创建request对象,一次请求结束时销毁request对象.
作用范围:整个请求链
主要功能:在整个请求链中共享数据
4.pageContext域对象 —表示当前JSP运行环境的对象
生命周期:访问JSP开始时创建pageContext对象,访问JSP结束时销毁pageContext对象.
作用范围:当前JSP页面
主要功能:在当前JSP页面中共享数据.

相同点:
与属性相关的方法:
setAttribute(String name,Object value );—添加一个域属性、修改域属性
getAttribute(String name) ; —-获取域属性
removeAttribute(String name);—–删除域属性

四个域对象在选择的时候,能用范围小德 绝不用范围大的:

  1.PageContext:数据只是暂时存在集合,在jsp页面的其他地方要用,用page(页面中自定义的map)(什么时候需要用map了,就用page)
  2.request:数据只是做显示的,看完了就没用了,就存在request域,请求转发,Servlet产生的处理结果(数据)交给jsp显示,数据转发可以带数据。
  3.Session:数据给用户看完了,一定还要用,会话结束了就没用了,
    用户登录,用户信息发给客户端看,看完了,一会访问别的页面还要看用户信息
   购物车,购物车成功了,给用户看购物车,待会随时间可以查看购物车
   请求重定向,因为是两次请求,每一次请求的数据,第二次请求还要看
  4.ServletContext:数据给一个用户用完了,别人还要用
    聊天室,聊天记录,需要给所用的用户看
    统计网站在线人数,所有看到的应该是一个数

阅读更多
文章标签: 四大域对象总结
个人分类: 四大域对象总结
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭