1.对象作用域
1.1:ServletContext
1.1.1:获得方式:servlet的servletConfig对象的getServletContext()
1.1.2:初始化:用web.xml中的标签context-param设置,其它servlet通过getInitParameter(String)可以获得其值;无法设置对象;
1.1.3特点:作用于该web项目的全域;线程不安全——可查询不可改
1.2:HttpSession
1.1.1:获得方式:request.getSession()
1.1.2:初始化:
1.1.3特点:作用于一个会话;线程不安全(卡片浏览器)
1.1.4:传递——
1.3:ServletRequest
1.1.1:获得方式:servlet的servletConfig对象的getServletContext()
1.1.2:初始化:用web.xml中的标签context-param设置,其它servlet通过getInitParameter(String)可以获得其值;无法设置对象;
1.1.3特点:作用于一次请求;垃圾自动回收;线程安全
1.1.4:传递——用请求转发来确保同一个请求。
1.4:方法
void setAttribute(String,Object)
Object getAttribute(String)——同键返回最后的值。键最好不要重复。
void removeAttribute(String)
Enumeration getAttributeNames()
2.事件监听
2.1:事件源和接口
2.1:ServlectContext——ServletContextListener、ServletContextAttributeListener
2. 2:httpSession——HttpSessionListener/HttpSessionActivationListener、HttpSessionAttributeListener/HttpSessionBindingListener
2.3:ServletRequest——ServletRequestListener、ServletRequestAttributeListener
2.2:监听的事件范围——web应用中以上3中对象的启动(……initialized)和销毁(……destroyed);以上3中对象的属性改变(增(attributeAdded)、删(attributeRemoved)、改(attributeReplaced)3方法)
2.3:代码实现步骤
2.3.1:事件源
2.3.2:监听器
2.3.3:实现监听器接口方法
2.3.4:建立联系(web.xml注册) <listener> <listener-class>com.lovo.test.MyContextListener</listener-class> </listener>
2.4:对象绑定
唯一一个不需在web.xml中设定listener