学习web的Listener监听器的时,监听域对象创建的监听器。通过监听器重新分析着三个对象的生命周期,清晰明了。

首先域对象的监听器有三个ServletContextListene、ServletRequestListene和HttpSessionListene

实现三个接口,每个接口有两个方法,创建方法和销毁方法,此处不详细写出,具体方法自行参照API帮助文档

servletContext既web应用加载到tomcat的时候被创建,从服务器卸载的时候被销毁。

servletRequest是发出请求的时候就被创建,请求结束就被销毁.需要注意的是请求转发的时候request是同一个请求,并不会创建新的请求,但是当重定向的时候就是一个新的请求。

在jsp页面中的超链接到另一个jsp页面也是重定向,此时不能获取到request域中设置的属性。

Httpsession在第一次访问web页面或servlet时并且需要一个session时被创建,session比较绕,如果在jsp页设置session= “false”,访问也不会创建一个session。

在jsp中创建session的HttpSession session = new HttpSession();就创建了一个session。

当session结束设置的最大存活时间的时候也会被销毁,直接调用销毁方法也会直接销毁。

PS:这三个创建的顺序->ServletContext->ServletRequest->HttpSession因为session是通过请求将Cookie头给带回。JSESSIONID