Cookie教程
Session
浏览器与服务器交互信息的获取
Servlet域对象的生命周期及使用
HttpServletRequest接口和HttpServletResponse接口常用方法总结
404和500错误解决方法
WEB开发路径使用方式总结
实战:登录操作结合Session

Servlet域对象的生命周期

在servlet中,域对象一共有3个,分别是上下文域 application、会话域 session、请求域 request,以上3个域对象都是在web开发中,用来做存取值操作的,当我们在域对象中存值之后,在域对象销毁之前,都可以从域对象中将我们存的值给取出来。

常用方法

存值: setAttribute(String key,Object value)

取值:getAttribute(String key) Object

移除值:removeAttribute(String key)

Servlet域对象的生命周期

域对象从创建到销毁的全过程

● application

创建:服务器启动的时候,服务器会自动的为我们创建一个上下文对象

销毁:服务器关闭

● session

创建:执行request.getSession(),如果当前浏览器和服务器之间没有一个有效的会话,以上代码会为我们创建出来一个session对象

销毁:

关闭服务器

1、执行代码session.invalidate()

2、session.setMaxInactiveInterval(10)

超过session的空闲失效时间,session对象自动销毁

3、如果上述代码没有设置

默认30分钟session对象自动销毁

conf/web.xml 5xx 30

4、关闭浏览器,session对象不销毁的,但是存储在浏览器上的JSESSIONID销毁了

关闭浏览器后,此时是这样一种情况,服务器中的session对象还在,浏览器上的JSESSIONID销毁了

当浏览器访问服务器执行request.getSession的时候,由于JSESSIONID销毁,就已经失去了有效的会话,以上代码会为我们创建出来一个新的会话.老会话会随着空闲失效时间的到来自动销毁

●  request

创建:当请求访问到项目,那么服务器会为我们的项目创建出来一个request对象

销毁:当servlet将请求处理完毕,准备响应的时候,request对象自动销毁

从图上看,我们的每一次请求和响应,都是request对象创建以及销毁全过程

从以上生命周期分析我们域对象的取值范围:上下文域 > session域 > request域

练习:使用域对象来设置值和取值

不切换浏览器的情况下,分析以上案例结果,request域不能够取值,其他域能够取值