toppic
当前位置: 首页> 奇幻小说> 什么是Servlet监听器?

什么是Servlet监听器?

2020-10-16 15:33:18

      新的一周来临了,让我们用热情和进取投入到工作和生活中去吧。先看今天的英语内容,今天的英语主要是介绍跟时间管理有关的:

      1.Time management 时间管理

      2.Use a calendar app or calendar notebook every day.

         每天使用日历APP或者日历笔记本。

     3.Respect your need for sleep by getting 7 to 9 hours of sleep each day.

         尊重你每天睡7-9小时的生理需求。

     4.Focus on a single task at a time.

        一次只专注完成一项任务。at a time意为"一次"。

     5.Accomplish large projects by breaking them down into smaller tasks.

        将大任务划分成小任务来完成。

        accomplish 完成;实现

        break down into 分解成...

     6. Learn to delegate tasks effectively at work.

         在工作中学会有效地委托任务。

        delegate 委托

        effectively 有效地


       今天来看一下Servlet的监听器问题,了解Servlet监听器的人肯定会在脑中飘出各种Servlet API接口,光那些五花八门的接口就足可以使人晕头转向。但其实,监听器是一个并不算难的知识,千万不要被它的众多接口所迷惑哦~~。

       我们先来看一下什么叫做Servlet监听器,监听器——顾名思义,就是监听各种Web操作的,当某些事件被触发时,监听器会自动调用。就像“老鼠偷米”事件发生时“老鼠夹子”会自动将其夹住一样,那么此时的“老鼠夹子”就相当于Servlet中的监听器,它的作用就是用来监听“老鼠偷米”事件的。

        由于监听器涉及到的API太多,所以还是分一下类吧,监听器可以分成三类:request范围的监听器、session范围的监听器、application范围的监听器。

每种监听器又都可划分为对状态的监听和对属性的监听。监听器可以通过在实现类上使用@WebListener注解来注册监听器,也可以在web.xml文件上来注册。

        就来通过学习对application范围的监听器来学习一下吧。

        ServletContextListener接口可以用来实现上下文状态的监听,此接口下要实现两个方法,分别是:public void contextInitialized(ServletContextEvent sce)方法和public void contextDestroyed(ServletContextEvent sce)方法,它们分别负责容器启动时触发和容器销毁时触发。

       ServletContextAttributeListener接口负责上下文属性监听,用来对ServletContext的属性操作进行监听,当然又要实现其中的方法,分别为:

public void attributeAdded(ServletContextAttributeEvent scab),

public void attributeRemoved(ServletContextAttributeEvent scab),

public void attributeReplaced(ServletContextAttributeEvent scab);分别用于监听上下文增加属性、移除属性、替换属性事件。

      虽然这些接口名称比较长,但是大家只要记住ServletContext就代表容器,那么采用组词法记忆就不难了。好了,还是看个例子吧——用监听器来实现一个统计网站在线人数,当用户登录成功后就将用户名存于session属性范围中,这会触发session属性范围的监听器,并在此session监听器中将用户名存于集合中,而集合存储于ServletContext上下文属性中,可谓环环紧扣,好了,看代码吧(注意:代码是在Eclipse中写好后截图的,所以可以点击下面图片放大查看):


      

在负责登录的Servlet中,代码为:

     

那么,这样,就可以实现一个登录成功后显示用户列表的效果了。

       好了,Servlet监听器的接口很多,本文就介绍到这儿吧,大家加油!




友情链接