`
ryanflyer
  • 浏览: 102412 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Servlet监听器

 
阅读更多

Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。下面将介绍几种常用的监听器,以及它们都适合运用于那些环境。 


分类及介绍:
1.  ServletContextListener:用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口。 

public class QuartzListener implements ServletContextListener {

    private Logger logger = LoggerFactory.getLogger(QuartzListener.class);

    public void contextInitialized(ServletContextEvent sce) {

    }

    /**
     *在服务器停止运行的时候停止所有的定时任务
     */
    @SuppressWarnings("unchecked")
    public void contextDestroyed(ServletContextEvent arg0) {
        try {
            Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
            List<JobExecutionContext> jobList = scheduler.getCurrentlyExecutingJobs();
            for (JobExecutionContext jobContext : jobList) {
                Job job = jobContext.getJobInstance();
                if (job instanceof InterruptableJob) {
                    ((InterruptableJob) job).interrupt();
                }
            }
            scheduler.shutdown();
        } catch (SchedulerException e) {
            logger.error("shut down scheduler happened error", e);
        }
    }
}

 

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

3.  HttpSessionListener:用于监听Session对象的创建和销毁,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。

/**
 * 
 * 会话监听器
 * <p />
 *
 */
public class SessionListener implements HttpSessionListener {

    @Override
    public void sessionCreated(HttpSessionEvent arg0) {

    }

    @Override
    public void sessionDestroyed(HttpSessionEvent event) {
        HttpSession session = event.getSession();
        User user = (BrsSession) session.getAttribute("currUser");
        if (user != null) {
            //TODO something
        }
    }

}

 
4.  HttpSessionActivationListener:用于监听Session对象的钝化/活化事件,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。 

5.  HttpSessionAttributeListener:用于监听Session对象属性的改变事件,监听器类需要实现javax.servlet.http.HttpSessionAttributeListener接口。 

部署: 
       监听器的部署在web.xml文件中配置,在配置文件中,它的位置应该在过滤器的后面Servlet的前面

 

web.xml配置文件:

 

    <!-- Quartz监听器 -->
    <listener>
        <listener-class>
            com.flyer.lisenter.QuartzListener
        </listener-class>
    </listener>
分享到:
评论

相关推荐

    servlet 监听器范例

    在Java Web开发中,Servlet监听器(Servlet Listener)扮演着重要的角色,它是Servlet规范的一部分,允许开发者对Web应用程序中的特定事件进行监听和响应。在这个范例中,我们将深入探讨如何利用监听器来统计在线...

    servlet监听器案例

    Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定的Servlet容器事件发生时执行相应的代码。在本文中,我们将深入探讨Servlet监听器的工作原理、配置和使用,结合具体的"web.xml"配置以及JSP页面的...

    servlet监听器技术源码

    Servlet监听器技术是Java Servlet规范中的一项重要特性,它允许开发者在特定的Servlet容器事件发生时执行自定义的代码逻辑。这些事件可以包括Web应用程序的初始化、终止,或者是Servlet或Servlet上下文...

    JAVA Servlet监听器listener学习资料

    Java Servlet监听器(Listener)是Java Web开发中的一个重要组件,它们允许开发者在特定事件发生时执行自定义逻辑,而无需直接修改原有的业务代码。监听器是Servlet规范的一部分,通过实现特定的接口,开发者可以...

    Servlet监听器在基于移动Web在线考试系统中的应用.pdf

    "Servlet监听器在基于移动Web在线考试系统中的应用" Servlet监听器是Servlet规范中定义的一种特殊类,用于监听Web应用程序中的ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件,以及这些域...

    servlet 监听器的实现

    Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定事件发生时执行代码,比如在Web应用程序启动、停止时,或者在用户会话创建、销毁时。这为程序员提供了更多的控制权,使得他们能够更好地管理和监控...

    servlet监听器

    Servlet监听器是Java Web开发中的一种关键组件,主要用于监控和响应Web应用程序中的特定事件。它们是Servlet规范中定义的特殊类,能够监听ServletContext、HttpSession和ServletRequest等域对象的生命周期事件,以及...

    servlet监听器实现踢人小案例

    Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定事件发生时执行代码,比如在Web应用程序启动、停止,或者在某个Servlet被创建或销毁时。在这个“servlet监听器实现踢人小案例”中,我们将探讨如何...

    JAVA培训Servlet监听器.pdf

    JAVA Servlet监听器是指在Servlet容器中,用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后做一些必要的处理。监听器可以分为多种类型,每种类型都有其特定的应用场景和用途。 ...

    servlet监听器总结

    ### Servlet监听器总结 #### 一、Listener概念与作用 - **定义**:在Java Web开发中,Listener(监听器)是一种特殊的组件,主要用于监听容器内的特定事件,并根据这些事件的发生执行相应的处理逻辑。 - **功能**...

    Servlet监听器例子

    Servlet监听器是Java Web开发中的一个重要概念,它们是Servlet API的一部分,允许开发者在特定的Servlet容器事件发生时执行代码。这些事件可以是Web应用程序启动、关闭,或者与HTTP会话相关的事件,如创建、销毁或...

    servlet监听器教程(含代码)

    Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定事件发生时执行代码,比如在Web应用程序启动或停止时,或者在某个Servlet实例被创建或销毁时。本教程将深入探讨Servlet监听器的工作原理、类型以及...

    利用servlet监听器,系统启动时创建自定义容器简单例子

    在Java Web开发中,Servlet监听器(Servlet Listeners)是一种重要的组件,它们可以在特定的事件发生时被调用,比如Web应用的初始化、用户会话的创建或销毁等。在这个例子中,我们将探讨如何利用Servlet监听器在系统...

    j2ee20:servlet04监听器(监听四大web域)(用于访问人数的统计)、mvc模式的引入

    在本文中,我们将深入探讨Java EE(J2EE)中的Servlet监听器以及它们在Web应用程序中的作用,特别是在访问人数统计和引入MVC模式方面。首先,让我们了解什么是Servlet监听器。 Servlet监听器是Java Servlet规范的一...

    java servlet 监听器

    servelt 监听器 class MyRequest extends HttpServletRequestWrapper { public MyRequest(HttpServletRequest request) { super(request); } public String MyEncoding(String value) { String value...

    servlet过滤器和监听器PPT课件.ppt

    servlet过滤器和监听器,servlet过滤器和监听器课件,servlet过滤器和监听器PPT

Global site tag (gtag.js) - Google Analytics