`

Web开发17:Servlet监听器

 
阅读更多

 

写了一个MyServletContextListener类来测试MyServletContextListener接口。

package com.test.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class MyServletContextListener implements ServletContextListener {

	public void contextDestroyed(ServletContextEvent sce) {
		System.out.println("context Destroyed invoked "+sce.getServletContext());
	}

	public void contextInitialized(ServletContextEvent sce) {
		System.out.println("context Initialized invoked "+sce.getServletContext());
	}

}

 在启动服务器时,启用信息中会打印出如下信息,说明我们的MyServletContextListener 监听器已监听到服务器的启动

信息: Setting DefaultObjectTypeDeterminer as default ...
context Initialized invoked org.apache.catalina.core.ApplicationContextFacade@10bbf9e

 

在服务器重新加载时,监听器获取到context销毁并立刻初始化的事件。

信息: Reloading this Context has started

context Destroyed invoked org.apache.catalina.core.ApplicationContextFacade@194d372
context Initialized invoked org.apache.catalina.core.ApplicationContextFacade@17b0998

 

接下来再看ServletContextAttributeListener监听器,它用来监听application属性的创建,修改,删除动作。

package com.test.listener;

import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;

public class MyServletContextAttributeListener implements
		ServletContextAttributeListener {

	public void attributeAdded(ServletContextAttributeEvent scab) {
		System.out.println("attribute added");
		System.out.println(scab.getName()+":"+scab.getValue());
	}

	public void attributeRemoved(ServletContextAttributeEvent scab) {
		System.out.println("attribute removed");
		System.out.println(scab.getName()+":"+scab.getValue());
	}

	public void attributeReplaced(ServletContextAttributeEvent scab) {
		System.out.println("attribute replaced");
		System.out.println(scab.getName()+":"+scab.getValue());
	}

}

 

listener.jsp,在此页面中创建一个aa属性,并替换三次

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <body>
  	<%
		application.setAttribute("aa","bb");
		application.setAttribute("aa","cc");
		application.setAttribute("aa","dd");
		application.setAttribute("aa","ee");
  	 %>
  </body>
</html>

  

在管理控制台打印出

attribute added
aa:bb
attribute replaced
aa:bb
attribute replaced
aa:cc
attribute replaced
aa:dd

上面第1,2行表示新建一个属性名是aa且值是bb的属性。

3,4行表示aa属性的值被替换了,旧值是bb(注意,这里只能取出旧值)。余下类似。

listener2.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <body>
	<%
		application.removeAttribute("aa");
	 %>
  </body>
</html>

 打开 listener2.jsp页面会在管理控制台打印出如下信息,表示属性被删除了。

attribute removed
aa:ee

 

session的监听器与application的类似,不再一一介绍。

分享到:
评论

相关推荐

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

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

    servlet监听器案例

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

    servlet 监听器范例

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

    servlet监听器技术源码

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

    servlet监听器总结

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

    web监听器代码--监听servlet

    在Java Web开发中,监听器通过实现特定接口并配置在`web.xml`部署描述符中来启用。下面我们将深入探讨Web监听器的概念、作用、实现方式以及与Servlet的关系。 **Web监听器的作用** 1. **上下文监听器**: 当Web应用...

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

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

    servlet监听器

    开发Servlet监听器需要实现Servlet规范定义的接口,例如实现ServletContextListener接口需要覆盖contextInitialized和contextDestroyed方法。在web.xml配置文件中注册监听器,可以指定多个监听器并控制它们的加载...

    JAVA Servlet监听器listener学习资料

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

    深入学习:Java Servlet开发与实例.rar

    **Java Servlet 深入学习:开发与实例** ...通过这份《深入学习:Java Servlet开发与实例》的学习,开发者不仅可以掌握Servlet的基础知识,还能了解其在实际项目中的应用,进一步提升Java Web开发能力。

    Eclipse开发Servlet(2学时)

    除了基础的GET和POST请求处理,Servlet还可以涉及MVC模式、session管理、cookies、过滤器、监听器等多个高级主题。通过Eclipse,你可以方便地学习和实践这些概念,提升你的web开发技能。 在" Eclipse开发Servlet(2...

    Tomcat(二) Tomcat实现:Servlet与web.xml介绍 以及 源码分析Tomcat实现细节1

    在web.xml文件中,你可以通过`&lt;listener&gt;`元素定义监听器,当Web应用启动时,Tomcat会实例化这些监听器并调用相应的初始化方法。 ```xml &lt;listener-class&gt;org.springframework.web.context....

    servlet监听器教程(含代码)

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

    javax.servlet-3.0

    1. **注解配置**:在Servlet 3.0中,开发者可以直接在类或方法上使用注解(如`@WebServlet`、`@WebFilter`和`@WebListener`)来声明Servlet、过滤器和监听器,而无需在web.xml文件中进行繁琐的手动配置。 2. **异步...

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

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

    servlet 监听器的实现

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

    servlet事件监听器和JSP基础

    Servlet事件监听器和JSP是Java Web开发中的重要组成部分,它们在构建动态网站时起着核心作用。Servlet事件监听器允许开发者对特定的Servlet容器事件做出反应,而JSP则是用于创建动态网页的简便方式。这里我们将深入...

    servlet监听器实现踢人小案例

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

    Web程序设计(servlet核心编程)ppt

    【监听器Listener】则是另一种重要的Servlet组件,它能监听Web应用程序中的特定事件,例如session的创建、销毁,或者请求初始化、上下文初始化等。监听器可以及时响应这些事件,执行相应的操作,如数据同步、资源...

Global site tag (gtag.js) - Google Analytics