javaweb之监听器,监听事件并作出相应的操作

首先说一下开发的步骤:

1.实现相应的监听器接口

2.重写创建和销毁的方法,创建就是这个监听的内容创建的时候的方法,和销毁时候的方法。

3.web.xml的配置

<listener>

              <listener-class>包名.类名</listener-class>

</listener>

一共分为三大类,每一个大类中又分为三个不同的监听域对象

第一类,域对象的创建和销毁的监听器

1.监听ServletContextListener的创建和销毁

方法:

contextInitialized(ServletContextEvent sce)创建时执行的方法,用于项目的初始化操作

contextDestroyed(ServletContextEvent sce)销毁时调用的方法

在这里就需要创建的类实现ServletContextListener接口

应用一:可以简化pageContext.request.contextPath,可以在初始化的时候,设置一个属性,然后以后再用的时候直接调用这个属性就可以了,由于它是全局的域对象,所以,可以应用于真个项目。

应用二:加载配置文件,还可以加载一些spring框架

应用三:实现任务的调度

2.监听HttpsessionListener的创建和销毁

方法:

sessionCreated(HttpSessionEvent se)创建时调用

sessionDestroyed(HttpSessionEvent se)销毁时调用

session创建的时间:

request.getSession(),或者是访问一个JSP页面的时候。

销毁的时间:

默认为30分钟,非正常关闭服务器的时候。

应用:可以用来实现统计当前的在线人数。(在下一篇CSDN文章中会做出介绍)

3.监听ServletRequestListener的创建和销毁

方法:

requestInitialized(ServletRequestEvent sre)

requestDestroyed(ServletRequestEvent sre)

第二类,域对象属性状态改变的监听器

同样的,也分为三种域对象在此不再赘述,说一下他们的方法

attributeAdded()添加属性时调用的方法

attributeRemoved()删除属性时调用的方法

attributeReplaced()替换属性时调用的方法

第三类,session域对象中的javabean监听器

在这里一共分为两个,一个是HttpSessionBindingListener,监听javabean对象的绑定(存入session中)和解除,另一个是HttpSessionActivationListener,监听javabean对象的序列化和反序列化

当然,他们也有类似的方法,就是绑定时调用的方法,解绑时调用的方法,具体可以查一下java的api文档

猜你喜欢

转载自blog.csdn.net/qq_41901915/article/details/86477771
今日推荐