zoukankan      html  css  js  c++  java
  • JavaWeb-Listener

    --监听器的相关概念:

    事件源:被监听的对象  -- 三个域对象 request  session  servletContext
    监听器:监听事件源对象  事件源对象的状态的变化都会触发监听器 
    注册监听器:将监听器与事件源进行绑定
    响应行为:监听器监听到事件源的状态变化时 所涉及的功能代码 -- 程序员编写代码

     --配置

    <!--监听器快速入门-->
    <listener>
      <listener-class>com.itheima.a_quick.QuickListener</listener-class>
    </listener>

    注解:

    @WebListener
    public class QuickListener implements ServletContextListener {
        // 省略内容....
    }

    案例 在线用户:

     

    
    
    @WebListener
    public class ContextAsListener implements ServletContextListener,
            HttpSessionListener, HttpSessionAttributeListener, ServletRequestListener {
    
        // Public constructor is required by servlet spec
        public ContextAsListener() {
        }
    
        // -------------------------------------------------------
        // ServletContextListener implementation
        // -------------------------------------------------------
        public void contextInitialized(ServletContextEvent sce) {
          /* This method is called when the servlet context is
             initialized(when the Web application is deployed). 
             You can initialize servlet context related data here.
          */
            System.out.println("servletContext创建了");
            sce.getServletContext().setAttribute("num", 0);
        }
    
        public void contextDestroyed(ServletContextEvent sce) {
          /* This method is invoked when the Servlet Context 
             (the Web application) is undeployed or 
             Application Server shuts down.
          */
            System.out.println("servletContext销毁了");
        }
    
        // -------------------------------------------------------
        // HttpSessionListener implementation
        // -------------------------------------------------------
        public void sessionCreated(HttpSessionEvent se) {
            /* Session is created. */
            System.out.println("session创建");
            ServletContext servletContext = se.getSession().getServletContext();
            servletContext.setAttribute("num", (int) servletContext.getAttribute("num") + 1);
        }
    
        public void sessionDestroyed(HttpSessionEvent se) {
            /* Session is destroyed. */
            System.out.println("session销毁");
            ServletContext servletContext = se.getSession().getServletContext();
            servletContext.setAttribute("num", (int) servletContext.getAttribute("num") - 1);
        }
    
        // -------------------------------------------------------
        // HttpSessionAttributeListener implementation
        // -------------------------------------------------------
    
        public void attributeAdded(HttpSessionBindingEvent sbe) {
          /* This method is called when an attribute 
             is added to a session.
          */
        }
    
        public void attributeRemoved(HttpSessionBindingEvent sbe) {
          /* This method is called when an attribute
             is removed from a session.
          */
        }
    
        public void attributeReplaced(HttpSessionBindingEvent sbe) {
          /* This method is invoked when an attibute
             is replaced in a session.
          */
        }
    
        @Override
        public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
    
        }
    
        @Override
        public void requestInitialized(ServletRequestEvent servletRequestEvent) {
    
        }
    }

    https://blog.csdn.net/qq_15204179/article/details/82055448

  • 相关阅读:
    MyBatis Generator 的使用
    Eclipse插件手动安装
    MyBatis中别名的设置
    MyBatis 插入时返回自增主键
    MyBatis 模糊查询
    MyBatis 多个查询条件的传递
    MyBatis 的Mapper中有小于号的处理
    spring mvc rest 方式
    jackson
    中兴阅读:你的移动阅读解决专家,助纸媒们一臂之力
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/13409949.html
Copyright © 2011-2022 走看看