zoukankan      html  css  js  c++  java
  • servlet HttpSession 监听器

    一、Servlet中对象作用域

    1、 ServletContext 上下文

    应用服务器一启动就产生该对象,服务器关闭即销毁

    作用于全局,所有Servlet ,相当于静态变量

    2、 HttpSession 会话

    客户端第一次请求产生,session过期销毁

    作用于同一个客户端,相当于成员变量

    3、 ServletRequest请求

    一次请求产生一个对象,请求结束即销毁

    作用于同一次请求,相当于局部变量

    二、Servlet监听器

    工作流程:

    (1)确定事件源

    (2)写一个类,实现Servlet监听器接口,并从写接口里面的方法

    (3)在web.xml里注册建立联系,

      <listener>

      <listener-class>Servlet类事件源全路径</listener-class>

      </listener>

    (4)事件源触发事件,监听器调用相应方法

    1、ServletContext事件

    (1)ServletContextListener接口,用于监听ServletContext的创建与销毁

      相应方法:

      void contextInitialized(ServletContextEvent e); ServletContext创建触发

      void contextDestroyed(ServletContextEvent e); ServletContext销毁触发

    (2)ServletContextAttribyteListener接口,用于监听ServletContext属性状态

      相应方法:

      void attributeAdded(ServletContextEvent e); ServletContext属性加入触发

      context.setAttribute(“a”,”b”);

      void attributeRemovd(ServletContextEvent e); ServletContext属性删除触发

      context.removeAttribute(“a”,);

      void attributeReplaced(ServletContextEvent e); ServletContext属性修改触发

      context.setAttribute(“a”,”c”);

    2、HttpSession事件

    (1)HttpSessionListener接口,用于监听session的创建与销毁

    相应方法:

    void sessionCreated(HttpsessionEvent e) session 创建触发

    void sessionDestroyed (HttpsessionEvent e) session 销毁触发

    (2)HttpSession AttributeListener接口,用于监听session属性状态

    相应方法:同ServletContextAttribyteListener

    (3)HttpSessionBindingListener接口,用于监听绑定对象到Session属性监听

    唯一一个不用在web.xml里注册的监听接口

    绑定

    Ression.setAttribute(“a”, 实现该接口的对象),

    触发void valueBound(HttpSessionBindingEvent e);方法

    移除:

    Ression.removeAttribute(“a”),

    触发void valueUnbound(HttpSessionBindingEvent e);方法

    3、 SercletRequest事件

    (1)ServletRequestListener接口 用于监听request的销毁与创建

    (2)ServletRequesAttributetListener接口 用于监听request的属性状态

  • 相关阅读:
    POJ 2251 Dungeon Master(BFS)
    POJ 1321 棋盘问题 (DFS + 回溯)
    POJ 3009 Curling 2.0(DFS + 模拟)
    Codeforces 702D Road to Post Office(模拟 + 公式推导)
    Codeforces 702A Maximum Increase(dp)
    Codeforces 702C Cellular Network(二分)
    Codeforces 702B Powers of Two
    POJ 3083 Children of the Candy Corn (DFS + BFS + 模拟)
    POJ 2488 A Knight's Journey (回溯法 | DFS)
    POJ1094 Sorting It All Out (拓扑排序)
  • 原文地址:https://www.cnblogs.com/emily1130/p/3716101.html
Copyright © 2011-2022 走看看