1、相关API: a、设置数据:void setAttribute(String name, Object o) ; b、获取数据:Object getAttribute(String name);
c、删除数据:void removeAttribute(String name);
2、生命周期:a、ServletContext域对象:服务器正常启动,项目加载时创建;服务器关闭或项目卸载时销毁;整个web项目共享数据;
b、HttpSession域对象:用户第一次调用request.getSession()方法时创建;销毁:服务器非正常关闭,未活动状态30分钟,自杀;一次会话中多次请求间共享数据;c、HttpServletRequest域对象:用户发送请求时创建;服务器做出相后销毁;一次请求中多次转发间共享数据;
总结:1、能用小的不用大的:request<session<servletContext;
2、使用场景:request:一次查询的结果(servlet转发jsp);session:存放当前会话的私有数据,比如用户登录状态、验证码、购物车;
servletContext:若需要所有的servlet都能访问到,才使用这个域对象;
来源:oschina
链接:https://my.oschina.net/u/4571343/blog/4821446