web三个域对象的区别

web中有三个域对象,另外JSP中还有一个PageContext域对象
四个域对象范围从小到大依次为

  1. PageContext
  2. Request
  3. Session
  4. ServletContext

四个域对象的区别:

主要体现在域范围上,通过setAttribute()方法,四个域对象均可存储数据,传输数据,但是范围不一样

  1. PageContext的作用范围最小,只能在当前页面传输数据,即使是转发,重定向后,PageContext中存储的数据也会失效

  2. Request的作用范围为一次请求,如果请求没有断,Request中的数据就会一直存在,如果经历了转发Request依旧存在,因为转发自始至终为一次请求

  3. Session的作用范围为一次会话,只要当前浏览器窗口一打开且没有关闭,Session中的数据就会存在,但是Session中默认的存在时间为30分钟,如果打开了浏览器,且30分钟之内没有访问此Session,此Session就回销毁.注:(Session是通过Cookie中存储的JSESSIONID值传递的,如果浏览器关闭了Cookie功能,则Session失效)

  4. ServletContext的作用范围为此WEB应用,从此WEB应用部署开始到此WEB应用销毁结束退出运行,ServletContext中的数据会一直存在

你可能感兴趣的:(java,android,Web,session,域对象)