`

JAVA三大器之过滤器——listener

 
阅读更多
<!-- 配置应用监听器  -->     
<listener>     
    <listener-class>com.ycq.ListenerTest</listener-class>     
</listener>  

 Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。

 

ServletContextListener接口的源代码:

 

public abstract interface ServletContextListener extends EventListener{
    public abstract void contextInitialized(ServletContextEvent paramServletContextEvent);
    public abstract void contextDestroyed(ServletContextEvent paramServletContextEvent);
}

 

 

Listener示例:

 

import javax.servlet.ServletContext;   
import javax.servlet.ServletContextEvent;   
import javax.servlet.ServletContextListener;   
import org.apache.commons.dbcp.BasicDataSource;       
/**
 * 现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的
 * 服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化
 * 的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。
 * 
 * 示例代码:使用监听器对数据库连接池DataSource进行初始化
 */ 
public class ListenerTest implements ServletContextListener{     
   // 应用监听器的销毁方法   
   public void contextDestroyed(ServletContextEvent servletContextEvent) {   
        ServletContext servletContext = servletContextEvent.getServletContext();
        // 在整个web应用销毁之前调用,将所有应用空间所设置的内容清空
        servletContext.removeAttribute("dataSource");
        System.out.println("销毁工作完成...");  
   }   
    // 应用监听器的初始化方法   
    public void contextInitialized(ServletContextEvent servletContextEvent) {   
        // 通过这个事件可以获取整个应用的空间   
        // 在整个web应用下面启动的时候做一些初始化的内容添加工作   
        ServletContext servletContext = servletContextEvent.getServletContext();  
        // 设置一些基本的内容;比如一些参数或者是一些固定的对象   
        // 创建DataSource对象,连接池技术 dbcp   
        BasicDataSource basicDataSource = new BasicDataSource(); 
        basicDataSource.setDriverClassName("com.jdbc.Driver"); 
        basicDataSource.setUrl("jdbc:mysqlocalhost:3306/"); 
        basicDataSource.setUsername("root");   
        basicDataSource.setPassword("root");   
        basicDataSource.setMaxActive(10);//最大连接数   
        basicDataSource.setMaxIdle(5);//最大管理数   
        //bds.setMaxWait(maxWait); 最大等待时间   
        // 把 DataSource 放入ServletContext空间中,   
        // 供整个web应用的使用(获取数据库连接)
        servletContext.setAttribute("dataSource", basicDataSource);   
        System.out.println("应用监听器初始化工作完成...");   
        System.out.println("已经创建DataSource...");  
    }   
}

 web.xml中配置如下:

 

<!-- 配置应用监听器  -->     
<listener>     
    <listener-class>com.ycq.ListenerTest</listener-class>     
</listener>  

 

 

 

 

分享到:
评论

相关推荐

    listener和filter 监听器和过滤器的介绍以及简单使用(csdn)————程序.pdf

    在Java Web开发中,监听器(Listener)和过滤器(Filter)是两种非常重要的组件,它们分别承担着不同的职责。监听器主要用于监听应用程序中的特定事件,而过滤器则用于在请求处理之前和之后对请求和响应进行拦截,...

    JavaWebServlet+JSP+EL表达式+JSTL标签库+Filter过滤器+Listener监听器

    JavaWeb技术是构建基于Java平台的Web应用程序的重要框架,它包括了Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器以及Listener监听器等多个关键组件。这些组件协同工作,使得开发者能够创建动态、交互式的Web...

    过滤器filter和监听器listener的应用总结

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们主要用于增强应用程序的功能和管理应用程序的状态。这篇文章将对这两者的应用进行深入的总结。 **过滤器Filter** 过滤器是在...

    关于监听器Listener和过滤器的小demo

    在Java Web开发中,监听器(Listener)和过滤器(Filter)是两个非常重要的概念,它们主要用于增强应用程序的功能和性能。下面将详细讲解这两个概念及其应用。 ### 监听器(Listener) 监听器是实现特定接口的Java...

    web服务器三大组件servlet、Filter、Listener——浅浅笔记

    Web服务器中的三大组件,即Servlet、Filter和Listener,是构建动态Web应用程序的关键元素。这些组件都是基于Java的,主要用于增强和扩展Web服务器的功能。 Servlet是Java中用于处理HTTP请求的核心组件,它是动态...

    过滤器Filter和监听器Listener

    过滤器Filter和监听器Listener

    javaweb 监听器(Listener)和过滤器(Filter)

    javaweb 监听器(Listener)和过滤器(Filter)

    过滤器和监听器教程(java)

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们主要用于增强应用程序的功能和管理应用程序的生命周期。本教程将深入探讨这两个核心组件,以帮助开发者更好地理解和应用它们。 ...

    12_JavaWeb——Filter&Listener案例资源

    此资源与我的博客12_JavaWeb——Filter&Listener中的案例对应,在11_JavaWeb——Cookie&Session案例资源基础上加上了过滤器,实现了对未登录用户的拦截,希望有所帮助。

    过滤器和监听器的使用与区别

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两种非常重要的组件,它们主要用于增强应用程序的功能和管理应用程序的状态。本篇文章将详细解释这两种技术的使用、配置及其区别。 首先,我们来了解过滤...

    java jsp listener小用法

    在JSP中,监听器(Listener)是Servlet API的一部分,属于事件驱动模型,可以监听特定的事件并进行响应。本篇文章将深入探讨如何使用Java JSP的监听器来实现用户登录次数的记录。 一、理解监听器(Listener) 在...

    关于过滤器和监听器的使用模板

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的组件,它们主要用于增强应用程序的功能和管理应用程序的状态。以下是关于这两个概念的详细说明。 **过滤器(Filter)** 过滤器是Servlet...

    Java Web开发实践教程——从设计到实现(第2版)源代码

    源代码中可能包含自定义的Filter和Listener实现,帮助理解过滤器链和事件监听的机制。 7. **Web.xml配置**:这是部署描述符文件,定义了Web应用的结构和行为。源代码中的web.xml将展示Servlet、Filter、Listener等...

    javaweb_高级_过滤器_监听器

    在JavaWeb开发中,过滤器(Filter)和监听器(Listener)是两种非常重要的组件,它们能够帮助我们实现更精细的控制和管理应用程序的行为。本篇将详细介绍过滤器的原理、使用方法、映射配置以及实际应用案例。 ### 1...

    jsp/servlet中过滤器和监听器的区别

    在这些技术中,过滤器(Filter)和监听器(Listener)是两个关键的概念,它们在处理请求、响应以及管理应用程序状态时发挥着重要作用。下面将详细讲解这两者的区别。 1. **过滤器(Filter)** - **定义**:过滤器...

    过滤器源代码

    4. **filter_listener**:这个文件名可能是Java Web应用程序中的一个过滤器监听器类。在Java Servlet规范中,`FilterListener`不是标准接口,但可能是开发者自定义的一个监听器,用于监听过滤器的事件,比如初始化、...

    Java笔试题————精华中的精华

    "Java笔试题——精华中的精华"这个资源集锦了多种技术领域的题目,旨在帮助求职者全面准备Java相关的技术考核。这份资料涵盖了Java语言本身,以及与之紧密相关的数据库技术Oracle,Web开发JavaWeb、Html,前端技术...

    C#和java 之间基于Socket的通信

    本话题主要探讨了两种常用编程语言——Java和C#之间如何利用Socket进行通信。Socket是网络编程的基本接口,允许应用程序通过网络发送和接收数据。以下是关于"Java和C#之间基于Socket的通信"的详细知识点: 1. **...

    servlet中的过滤器与监听器

    在Servlet技术中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们帮助开发者实现对请求和响应的拦截、处理以及管理应用程序的状态。 ### 1. Servlet过滤器 **过滤器** 是Servlet API提供的一种...

Global site tag (gtag.js) - Google Analytics