监听Web服务器的运行,当发生特定的事件时,采取预先设定的处理措施的组件。他是JAVA Web开发中很重要的内容,下面和小编一起了解一下java监听器吧。

1 什么是web监听器

web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特定事件。

比如ServletRequest的创建和销毁;变量的创建、销毁和修改等。也可以在某些动作前后增加处理,实现监控。

2 监听器常用的用途

通常使用Web监听器做以下的内容:

统计在线人数,利用HttpSessionLisener

加载初始化信息:利用ServletContextListener

统计网站访问量

实现访问监控

3 接下里看看一个监听器的创建以及执行过程

首先需要创建一个监听器,实现某种接口,例如我想实现一个对在线人数的监控,可以创建如下的监听器:public class MyListener implements HttpSessionListener{

private int userNumber = 0;

public void sessionCreated(HttpSessionEvent arg0) {

userNumber++;

arg0.getSession().setAttribute("userNumber", userNumber);

}

public void sessionDestroyed(HttpSessionEvent arg0) {

userNumber--;

arg0.getSession().setAttribute("userNumber", userNumber);

}

}

然后在web.xml中配置该监听器,在web-app中添加:

com.test.MyListener

在JSP中添加访问人数:

在线人数:

什么是java中的监听器_java中什么是监听器相关推荐

  1. java 过滤js事件_java中的过滤器与监听器

    过滤器: Filter本身并不生成请求和响应对象,只是提供过滤功能. Filter能够在Servlet被调用之前检查Request对象,并修改Request Header和Request内容:在Ser ...

  2. java String如何回收_java中的垃圾回收

    原文-http://blog.csdn.net/zsuguangh/article/details/6429592 1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确 ...

  3. java变量存储位置_java 中变量存储位置的区别

    [原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...

  4. java可以多重继承吗_Java中的多重继承与组合vs继承

    java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章. 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处. Java中的多重继承 多重继承是创建具有多个超类的单个类的能 ...

  5. java中有没有栈_Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...

  6. java 静态资源变量_Java中读取配置文件中的内容,并将其赋值给静态变量的方法...

    项目开发中某个功能需要抽取成方法写成一个工具类,提供给别人使用.写过工具类的人都知道,工具类中的方法一般都是静态方法,可以直接使用类名点方法名调用, 使用很方便,比如判断某个对象是否为空的方式Obje ...

  7. java 删除list元素_JAVA中循环删除list中元素的方法总结

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  8. java和equals区别_JAVA中==与equals的区别

    equals如果没有被重写的话,和==的作用是一样的,都是判断两个对象引用是否指向同一个地址.一般重写了equals()方法就表示比较它们"实际意义上相等",比较的是内容,而不是引 ...

  9. java为什么要初始化_JAVA中到底要怎么样初始化

    Java中的变量作用范围: 1. 类的属性,或者叫值域 2. 方法里的局部变量 3. 方法的参数 对于第一种变量,Java虚拟机会自动进行初始化.如果给出了初始值,则初始化为该初始值.如果没有给出,则 ...

  10. java中hashcode作用_Java中hashCode的作用

    以下是关于HashCode的官方文档定义: hashcode方法返回该对象的哈希码值.支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表. hashCode  ...

最新文章

  1. 算力大战是BCH最坏的一种处理方式
  2. 怎样生成分布式情况下的唯一标示?必须包含网卡字段,以便不同机器生成的唯一标示肯定不一样...
  3. PMCAFF微课堂|猎豹清理大师亿万用户量产品背后的紫牛方法论,傅盛不会说的秘密...
  4. python读数据库的通信协议是,Python操作SQLite数据库过程解析
  5. 在hive中对日期数据进行处理,毫秒级时间转化为yyyy-MM-dd格式
  6. DNS无法解析IP_通过YouTube的封杀窥视DNS原理
  7. Maven 本地仓库访问私服
  8. 80后的十三种最深寂寞
  9. 第八章 OGRE中合成器(也就是传说中的image-based rendering)以及如何在OGRE中对着色器的uniform变量传值
  10. Mac 内存被一个叫Installer的程序大量占用导致 内存严重不足 解决方案
  11. java 集合教程_Java Collections
  12. 单点登录 cas 设置回调地址_单点登录终极方案之 CAS 应用及原理
  13. yaml及使用PyYaml操作yaml文件详解
  14. html5微信页面制作,微信上的html5页面是怎么制作出来的?自己怎么制作微信网页链接?...
  15. ubuntu找不到ens33问题排查
  16. 【Leetcode】469. Convex Polygon
  17. Android系统入门
  18. Qt中的Resource
  19. 浅谈智慧校园能源监控系统的设计
  20. NucleoF401RE评估板USART2使用注意事项

热门文章

  1. 0 最优化问题数学概念补充
  2. 条件随机场、CBOW、word2vect、skip-gram、负采样、分层softmax(1)
  3. 查询各分类中最大自增ID
  4. 凸优化第五章对偶 5.7 例子
  5. 小程序学习笔记三:页面文件详解之视图层WXML、WXS、WXSS文件
  6. 黑客们成功地在土豆上安装了Linux!
  7. Ubuntu下安装uwsgi报错的解决方案
  8. 【BZOJ 1491】 [NOI2007]社交网络
  9. Linux基本命令学习笔记
  10. androidstudio can't run git.exe