栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

servlet监听器(Listener)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

servlet监听器(Listener)

目录

一、监听器的本质

二、常见的三种监听

三、servlet3.0中的监听接口

四、实现一个监听器

统计session

销毁session监听


一、监听器的本质

Listener监听器就是一个实现特定接口的普通Java程序,这个程序专门用于监听一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。它能够帮助开发者监听web应用中的特定事件。比如ServletContext,ServletSession,ServletRequest的创建和销毁,变量的创建和销毁等

二、常见的三种监听
  • 上下文事件:ServletContext对象的创建、删除和添加属性、删除和修改操作
  • 会话事件:监听HTTP会话
  • 请求事件:获取请求,统一处理请求

三、servlet3.0中的监听接口
  1. 所有监听都继承自java.util.Event对象
  2. 监听接口:ServletContext、HttpSession、ServletReques
  3. 配置方法:注解--@WebListener、xml节点--

四、实现一个监听器
  1. 统计session
    public class OnlineCountListener implements HttpSessionListener {
       
           public void sessionCreated(HttpSessionEvent se) {
               ServletContext ctx = se.getSession().getServletContext();
       
               System.out.println(se.getSession().getId());
       
               Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");
       
               if (onlineCount==null){
                   onlineCount = new Integer(1);
               }else {
                   int count = onlineCount.intValue();
                   onlineCount = new Integer(count+1);
               }
       
               ctx.setAttribute("OnlineCount",onlineCount);
       
           }

  2. 销毁session监听
     public void sessionDestroyed(HttpSessionEvent se) {
               ServletContext ctx = se.getSession().getServletContext();
       
               Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");
       
               if (onlineCount==null){
                   onlineCount = new Integer(0);
               }else {
                   int count = onlineCount.intValue();
                   onlineCount = new Integer(count-1);
               }
       
               ctx.setAttribute("OnlineCount",onlineCount);
       
           }

  3. web.xml中注册监听器

     
           com.kuang.listener.OnlineCountListener
       
  4. 使用监听器

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/895217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号