<!-- 配置应用监听器 --> <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>
相关推荐
在Java Web开发中,监听器(Listener)和过滤器(Filter)是两种非常重要的组件,它们分别承担着不同的职责。监听器主要用于监听应用程序中的特定事件,而过滤器则用于在请求处理之前和之后对请求和响应进行拦截,...
JavaWeb技术是构建基于Java平台的Web应用程序的重要框架,它包括了Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器以及Listener监听器等多个关键组件。这些组件协同工作,使得开发者能够创建动态、交互式的Web...
在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们主要用于增强应用程序的功能和管理应用程序的状态。这篇文章将对这两者的应用进行深入的总结。 **过滤器Filter** 过滤器是在...
在Java Web开发中,监听器(Listener)和过滤器(Filter)是两个非常重要的概念,它们主要用于增强应用程序的功能和性能。下面将详细讲解这两个概念及其应用。 ### 监听器(Listener) 监听器是实现特定接口的Java...
Web服务器中的三大组件,即Servlet、Filter和Listener,是构建动态Web应用程序的关键元素。这些组件都是基于Java的,主要用于增强和扩展Web服务器的功能。 Servlet是Java中用于处理HTTP请求的核心组件,它是动态...
过滤器Filter和监听器Listener
javaweb 监听器(Listener)和过滤器(Filter)
在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们主要用于增强应用程序的功能和管理应用程序的生命周期。本教程将深入探讨这两个核心组件,以帮助开发者更好地理解和应用它们。 ...
此资源与我的博客12_JavaWeb——Filter&Listener中的案例对应,在11_JavaWeb——Cookie&Session案例资源基础上加上了过滤器,实现了对未登录用户的拦截,希望有所帮助。
在Java Web开发中,过滤器(Filter)和监听器(Listener)是两种非常重要的组件,它们主要用于增强应用程序的功能和管理应用程序的状态。本篇文章将详细解释这两种技术的使用、配置及其区别。 首先,我们来了解过滤...
在JSP中,监听器(Listener)是Servlet API的一部分,属于事件驱动模型,可以监听特定的事件并进行响应。本篇文章将深入探讨如何使用Java JSP的监听器来实现用户登录次数的记录。 一、理解监听器(Listener) 在...
在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的组件,它们主要用于增强应用程序的功能和管理应用程序的状态。以下是关于这两个概念的详细说明。 **过滤器(Filter)** 过滤器是Servlet...
源代码中可能包含自定义的Filter和Listener实现,帮助理解过滤器链和事件监听的机制。 7. **Web.xml配置**:这是部署描述符文件,定义了Web应用的结构和行为。源代码中的web.xml将展示Servlet、Filter、Listener等...
在JavaWeb开发中,过滤器(Filter)和监听器(Listener)是两种非常重要的组件,它们能够帮助我们实现更精细的控制和管理应用程序的行为。本篇将详细介绍过滤器的原理、使用方法、映射配置以及实际应用案例。 ### 1...
在这些技术中,过滤器(Filter)和监听器(Listener)是两个关键的概念,它们在处理请求、响应以及管理应用程序状态时发挥着重要作用。下面将详细讲解这两者的区别。 1. **过滤器(Filter)** - **定义**:过滤器...
4. **filter_listener**:这个文件名可能是Java Web应用程序中的一个过滤器监听器类。在Java Servlet规范中,`FilterListener`不是标准接口,但可能是开发者自定义的一个监听器,用于监听过滤器的事件,比如初始化、...
"Java笔试题——精华中的精华"这个资源集锦了多种技术领域的题目,旨在帮助求职者全面准备Java相关的技术考核。这份资料涵盖了Java语言本身,以及与之紧密相关的数据库技术Oracle,Web开发JavaWeb、Html,前端技术...
本话题主要探讨了两种常用编程语言——Java和C#之间如何利用Socket进行通信。Socket是网络编程的基本接口,允许应用程序通过网络发送和接收数据。以下是关于"Java和C#之间基于Socket的通信"的详细知识点: 1. **...
在Servlet技术中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们帮助开发者实现对请求和响应的拦截、处理以及管理应用程序的状态。 ### 1. Servlet过滤器 **过滤器** 是Servlet API提供的一种...