Servlet监听器——实现在线登录人数统计小例子

本文详细介绍了Servlet监听器的概念、类型,重点讲解了ServletContext和HttpSession监听,包括监听器接口和事件。通过实例展示了如何使用监听器统计在线登录人数,包括login.jsp登录页面、UserList存储用户信息、监听器类、LoginServlet登录处理和退出登录操作,并在web.xml中配置相关Servlet和监听器。
摘要由CSDN通过智能技术生成

一、概念

servlet监听器的主要目的是给web应用增加事件处理机制,以便更好的监视和控制web应用的状态变化,从而在后台调用相应处理程序。

二、监听器的类型

1.根据监听对象的类型和范围,分为3

Request事件监听器

HttpSession事件监听器

ServletContext事件监听器

2.八个监听接口和六个监听事件


三、ServletContext监听

1.Application对象

application是ServletContext的实例,由JSP容器默认创建。Servlet中调用getServletContext()方法得到ServletContext的实例。

全局对象即Application范围的对象,初始化阶段的变量值在web.xml中,经由<context-param>元素所设定的变量,它的范围也是Application的范围

2.ServletContextListener接口

用于监听Web应用启动和销毁的事件,监听器类需要实现ServletContextListener接口。

该接口的主要方法;

void contextInitialized(ServletContextEvent se):通知正在接受的对象,应用程序已经被加载及初始化

void contextDestroyed(ServletContextEvent se):通知正在接受的对象,应用程序已经被销毁

ServletContextEvent的主要方法:ServletContext getServletContext():取得当前的ServletContext对象

3.ServletContextAttributeListener

用于监听Web应用属性改变的事件,包括增加、删除、修改属性。监听器类需要实现ServletContextAttributeListener接口

ServletContextAttributeListener接口的主要方法:

void attributeAdded(ServletContextAttributeEvent se):若有对象加入Application的范围,通知正在收听的对象。

void attributeRemoved(ServletContextAttributeEvent se):若有对象从Application范围移除,通知正在收听的对象。

void attributeReplaced(ServletContextAttributeEvent se):若在Application的范围中,有对象取代另一个对象时,通知正在收听的对象

ServletContextAttributeEvent中的主要方法:

getName():返回属性名称

getValue()返回属性的值

四、HttpSession 会话监听

1.HttpSessionListener

主要方法:

sessionCreated(HttpSessionEvent se):session创建

sessionDestroyed(HttpSessionEvent se):session销毁

2.HttpSessionActivationListener:

监听器监听Http会话的情况

3.HttpSessionAttributeListener:

监听HttpSession中属性的操作

该接口的主要方法:

void attributeAdded(HttpSessionBindingEvent se):监听Http会话中的属性添加

void attr

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值