`

servlet事件监听

阅读更多

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics