`
Virgo_S
  • 浏览: 1153602 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Listener Servlet 的运用

    博客分类:
  • JAVA
阅读更多
Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEvent se)方法,这样就可以给在线人数加1。常用的监听接口有以下几个:

ServletContextAttributeListener监听对ServletContext属性的操作,比如增加、删除、修改属性。

ServletContextListener监听ServletContext。当创建ServletContext时,激发contextInitialized(ServletContextEvent sce)方法;当销毁ServletContext时,激发contextDestroyed(ServletContextEvent sce)方法。

HttpSessionListener监听HttpSession的操作。当创建一个Session时,激发session Created(HttpSessionEvent se)方法;当销毁一个Session时,激发sessionDestroyed (HttpSessionEvent se)方法。

HttpSessionAttributeListener监听HttpSession中的属性的操作。当在Session增加一个属性时,激发attributeAdded(HttpSessionBindingEvent se) 方法;当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法;当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se) 方法。


package com.xling.tools.application;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class AppListener
    extends HttpServlet implements ServletContextListener,
    ServletContextAttributeListener, HttpSessionListener,
    HttpSessionAttributeListener, ServletRequestListener,
    ServletRequestAttributeListener {
  //Notification that the web module is ready to process requests
  int userCount = 0;
  public void contextInitialized(ServletContextEvent sce) {   
    System.out.println("Application Run!");
  }

  //Notification that the servlet context is about to be shut down
  public void contextDestroyed(ServletContextEvent sce) {
    System.out.println("Application ended!");
  }

  //Notification that a new attribute has been added to the servlet context
  public void attributeAdded(ServletContextAttributeEvent scab) {

  }

  //Notification that an attribute has been removed from the servlet context
  public void attributeRemoved(ServletContextAttributeEvent scab) {

  }

  //Notification that an attribute of the servlet context has been replaced
  public void attributeReplaced(ServletContextAttributeEvent scab) {

  }

  //Notification that a session was created
  public void sessionCreated(HttpSessionEvent se) {
    userCount ++;
    System.out.println(userCount + " users on line!");
  }

  //Notification that a session was invalidated
  public void sessionDestroyed(HttpSessionEvent se) {
    userCount --;
    System.out.println(userCount + " users on line");
  }

  //Notification that a new attribute has been added to a session
  public void attributeAdded(HttpSessionBindingEvent se) {
    
  }

  //Notification that an attribute has been removed from a session
  public void attributeRemoved(HttpSessionBindingEvent se) {

  }

  //Notification that an attribute of a session has been replaced
  public void attributeReplaced(HttpSessionBindingEvent se) {
    System.out.println(se.getName() + " : " + se.getValue() + "  " + se.getSession().getAttribute(se.getName()));
  }

  //Notification that a request was created
  public void requestInitialized(ServletRequestEvent sre) {

  }

  //Notification that a request was invalidated
  public void requestDestroyed(ServletRequestEvent sre) {

  }

  //Notification that a new attribute has been added to a request
  public void attributeAdded(ServletRequestAttributeEvent srae) {

  }

  //Notification that an attribute has been removed from a request
  public void attributeRemoved(ServletRequestAttributeEvent srae) {

  }

  //Notification that an attribute of a request has been replaced
  public void attributeReplaced(ServletRequestAttributeEvent srae) {

  }
}

分享到:
评论

相关推荐

    servlet_filter_listener

    而`myblog_v2`可能是一个示例项目,展示了如何在实际的博客系统中运用这些技术,比如使用Servlet处理用户请求,Filter实现权限控制,Listener监控用户会话状态。 在实际开发中,`Servlet`通常用于处理业务逻辑,...

    SpringBoot之Filter和Listener简单运用.rar

    在Spring Boot框架中,Filter和Listener是两种非常重要的组件,它们在Web应用程序的生命周期管理和请求处理中起到关键作用。...通过深入理解和熟练运用,我们可以提高应用的灵活性和扩展性,打造高质量的Java Web应用。

    listener我的listener listener我的listener

    在Web开发,特别是基于Servlet和JSP的Java Web应用中,Listener被用来增强应用程序的功能。例如,ServletContextListener可以监听Web应用的启动和停止,用来进行一些初始化或清理工作。HttpSessionListener可以监控...

    Servlet入门教程

    Servlet入门教程是一个逐步引导开发者了解和掌握Servlet技术的教育资源。Servlet是Java编程语言中的一个标准接口,用于扩展服务器...通过实践和学习,你将能够熟练运用Servlet解决实际问题,提升你的Java Web开发技能。

    Servlet3.0新特性,Servlet3新特性,Servlet3注解,Servlet3异步处理【蕃薯耀】

    而Servlet3.0引入了如`@WebServlet`、`@WebFilter`和`@WebListener`等注解,允许开发者直接在类上声明Servlet、Filter和Listener,大大简化了配置过程,提高了代码的可读性和可维护性。例如,你可以用以下代码定义一...

    Servlet API中文文档

    总的来说,Servlet API中文文档是Java Web开发者不可或缺的学习资源,它涵盖了从基本的请求响应处理到高级的过滤器和监听器的全部内容,帮助开发者深入理解并熟练运用Servlet技术,构建高效、稳定的Web应用程序。...

    javax-servlet-api-3.0.1.jar

    6. `javax.servlet.annotation`包:包含了各种注解,比如`@WebServlet`、`@WebFilter`和`@WebListener`,使得开发者可以通过注解方式声明Servlet、过滤器和监听器,简化了web.xml配置文件的编写。 7. `javax....

    韩顺平servlet部分的源码文件

    8. **Filter和Listener**:Servlet还常常配合Filter和Listener使用,Filter可以用来拦截和处理请求,Listener可以监听Web应用中的各种事件。 通过学习和分析这些源码,你可以深入了解Servlet的工作流程,掌握如何...

    servlet-2.5-mrel-spec.rar

    9. **注解支持**:Servlet 2.5开始支持注解(Annotation),开发者可以直接在Servlet、Filter和Listener类上使用注解来声明和配置它们,减少了对部署描述符的依赖。 10. **WebSocket前奏**:虽然Servlet 2.5本身不...

    特殊情况(ActionForm,Servlet, Filter, Listener)下Spring如何注入对象

    总之,面对ActionForm、Servlet、Filter、Listener这些特殊情况,我们需要灵活运用Spring的DI机制,结合静态字段、工厂方法以及Web容器的特性,以确保对象的正确注入和管理。同时,随着技术的发展,如Spring Boot和...

    深入Java Servlet 网络编程

    Java Servlet是Java技术在Web开发中的重要组成部分,它主要用于构建动态Web应用程序。Servlet是一个服务器端的Java类,它...在实际项目中,应结合JSP、过滤器、监听器等工具,灵活运用Servlet,实现复杂的应用场景。

    jsp&servlet电子书

    此外,书中还会介绍如何使用Filter和Listener来增强应用程序的功能,比如日志记录、会话管理等。 在JSP与Servlet的结合应用中,读者将掌握MVC(Model-View-Controller)设计模式,这是一种广泛用于Web应用架构的...

    基于jsp+servlet的博客

    综上所述,"基于jsp+servlet的博客"是一个完整的Web应用实例,它综合运用了多种Java EE技术,实现了丰富的功能,为用户提供了一个便捷、安全的博客创作和交流平台。开发这样的系统不仅可以提升开发者的技术能力,也...

    Java Servlet Api文档

    Java Servlet API是Java Web开发中的核心组件之一,它定义了服务器端如何处理HTTP请求和响应的一系列接口和类...无论是初学者还是经验丰富的开发者,都应该熟悉并熟练掌握Java Servlet API,以便在实际项目中灵活运用。

    Servlet2.5

    Servlet 2.5是Java Servlet规范的一个版本,它在2006年发布,是对Servlet 2.4的升级,提供了许多新特性和改进。...通过学习和掌握这些知识点,初学者能够更好地理解和运用Servlet技术,构建高效、健壮的Web应用程序。

    J2EE中Servlet技术帮助文档(超详细和易懂)

    本帮助文档旨在提供一个超详细且易懂的教程,帮助初学者及进阶者深入理解并熟练运用Servlet。 一、Servlet概述 Servlet是一种Java类,它扩展了服务器的功能,尤其是用于创建动态Web应用。Servlet生命周期包括加载、...

    servlet api

    Servlet API是Java Web开发中的核心组件,主要...通过理解并熟练运用Servlet、Filter和Listener,开发者可以构建出高效、健壮的Web服务。学习和掌握Servlet API对于任何希望在Java Web领域深耕的人来说都是必不可少的。

    Spring 管理filter 和servlet

    本文将深入探讨Spring管理Filter和Servlet的机制与实践步骤,帮助开发者更好地理解和运用这一强大特性。 #### Spring管理Filter与Servlet的必要性 传统的Web应用中,Filter和Servlet的实例化和生命周期管理往往由...

    servlet-2.5 API文档

    10. **Listener接口**:Servlet 2.5 API提供了一系列事件监听器接口,如`ServletContextListener`, `ServletRequestListener`, `HttpSessionListener`等,用于监听Web应用、请求和会话级别的事件。 11. **Servlet...

    j2ee_servlet_api.zip免费下载

    通过理解并熟练运用Servlet API,开发者可以构建功能丰富的Web应用,实现动态页面生成、用户交互、数据处理等多种功能。在实际开发中,还需要配合Filter、Listener等其他组件,以实现更复杂的逻辑和优化性能。

Global site tag (gtag.js) - Google Analytics