`

servlet web.xml里的监听器

 
阅读更多

 

1,在web项目下创建一个listener类,可以自动的在web.xml里加入下面代码

2,或者自己创建类,然后在<web-app>下配置监听器,监听器会先于过滤器和servlet加载

 

<listener>
  	<listener-class>
  		com.example.listener.Listener
  	</listener-class>
  </listener>

 3,在listener类里:

package com.example.listener;

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import org.apache.catalina.connector.Request;

/**
 * Application Lifecycle Listener implementation class aaa
 *
 */
public class Listener implements HttpSessionListener, HttpSessionAttributeListener {

    /**
     * Default constructor. 
     */
    public Listener() {
        // TODO Auto-generated constructor stub
    }

	/**
     * @see HttpSessionAttributeListener#attributeRemoved(HttpSessionBindingEvent)
     */
    public void attributeRemoved(HttpSessionBindingEvent arg0) {
        // TODO Auto-generated method stub
    }

	/**
     * @see HttpSessionAttributeListener#attributeAdded(HttpSessionBindingEvent)
     */
    public void attributeAdded(HttpSessionBindingEvent arg0) {
        // TODO Auto-generated method stub
    }

	/**
     * @see HttpSessionAttributeListener#attributeReplaced(HttpSessionBindingEvent)
     */
    public void attributeReplaced(HttpSessionBindingEvent arg0) {
        // TODO Auto-generated method stub
    }

	/**
     * @see HttpSessionListener#sessionCreated(HttpSessionEvent)
     */
    public void sessionCreated(HttpSessionEvent event) {
    	HttpSession session = event.getSession();
    	System.out.println("session================"+session.getId());
    }

	/**
     * @see HttpSessionListener#sessionDestroyed(HttpSessionEvent)
     */
    public void sessionDestroyed(HttpSessionEvent arg0) {
        // TODO Auto-generated method stub
    }
	
}

 遇到一个问题,一般请求来时会创建一个会话,但是一直没有调用sessioncreate方法,一直没有找到问题,后来发现请求时一个静态页面,并没有转发给servlet处理,所以也不会出现session会话

4,HttpSessionListener:监听session的会话的创建和销毁,可以用于统计在线用户数,记录用户当前登录状态等,

5,HttpSessionAttributeListener:监听session里面的key是否有变动,塞值和删值都会触发监听事件

分享到:
评论

相关推荐

    web.xml配置详解, web.xml web.xml 配置实例

    Web.xml 配置详解 Web.xml 是一个部署描述符文件,用于描述 Web 应用程序的配置信息。该文件是基于 XML 语法的,所有的元素都是大小写敏感的。下面是 web.xml 配置文件的详细解释: 定义头和根元素 在 web.xml ...

    Servlet中Web.xml详解

    - **`&lt;listener&gt;`**:Servlet API版本2.3增加了对事件监听器的支持,事件监听器在建立、修改和删除会话或Servlet环境时得到通知。`&lt;listener&gt;`元素指定了事件监听器类。 - **`&lt;servlet&gt;`**:为了向Servlet或JSP页面...

    Tomcat中用web.xml控制Web应用详解

    监听器可以在 Web 应用启动时执行一些初始化操作。容器将创建 listener 中的类实例,并将其作为监听器。监听器可以在 ServletContext 中注册监听器,以便在特定的生命周期事件中执行操作。 load-on-startup 元素 ...

    详解Spring mvc的web.xml配置说明

    `web.xml`中的监听器允许我们在特定事件发生时执行代码,例如应用程序启动或关闭。在Spring MVC中,`org.springframework.web.context.ContextLoaderListener`是一个关键监听器,它实现了`ServletContextListener`...

    web.xml配置详解

    它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中,第一个元素是 XML 头,指定了 XML 的版本号和编码方式。接着是 DOCTYPE...

    jboss-web.xml jndi.properties oracle-ds.xml

    这个文件主要负责定义应用的Servlet、过滤器、监听器以及与EJB交互的JNDI(Java Naming and Directory Interface)命名规则。例如,你可以在这个文件中配置安全角色、会话超时、EJB引用等信息。通过JNDI,Web层可以...

    struts.xml和applicationContext.xml、web.xml的配置

    最后,`web.xml` 是Web应用的部署描述符,它定义了Servlet、过滤器和监听器等Web组件,以及应用的初始化参数和会话超时等设置。在`web.xml` 中,你需要配置Struts2和Spring的前端控制器,使得它们能够拦截并处理HTTP...

    web.xml各种配置

    - **listener**: 声明Web应用启动和终止时需要执行的监听器类。 - **filter**: 定义过滤器的配置信息,包括过滤器类的名称和URL模式映射。 - **filter-mapping**: 映射过滤器到具体的请求或请求模式。 - **servlet**...

    web.xml加载顺序与web.xml常用节点解析

    它遵循Java Servlet规范中的标准,为开发者提供了一种结构化的方式来配置Servlet、过滤器、监听器和其他组件。理解`web.xml`的加载顺序和各个节点的作用对于开发和维护高质量的Web应用至关重要。 1. **加载顺序**:...

    web.xml配置汇总(servlet2.3)

    ### Web.xml配置详解(Servlet 2.3) #### 一、概述 `web.xml`作为Java Web应用程序的核心配置文件,在Servlet 2.3规范中扮演着至关重要的角色。该文件通常位于WEB-INF目录下,用于定义和配置Web应用程序的各种...

    web.xml+详细解析.rar

    `web.xml`遵循XML规范,其根元素是`&lt;web-app&gt;`,它包含各种配置元素,如`&lt;servlet&gt;`, `&lt;servlet-mapping&gt;`, `&lt;filter&gt;`, `&lt;filter-mapping&gt;`, `&lt;listener&gt;`, `&lt;session-config&gt;`, `&lt;error-page&gt;`等。 3. **Servlet...

    web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序

    ### web.xml文件中配置(servlet, spring, filter, listener)的加载顺序 在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如...

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

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

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    3. **web.xml**: 这是Web应用的部署描述符,定义了Servlet、过滤器、监听器等组件的配置。它指定应用程序的入口点,即DispatcherServlet,并配置如何处理HTTP请求。例如,设置Spring MVC的前端控制器,以及其他服务...

    WEB.XML详解

    WEB.xml详解主要涉及了Java EE Web应用程序的标准配置文件web.xml的详细使用说明,这是Servlet规范中定义的一个配置文件,用于配置web应用的初始化参数、servlet和filter、监听器等组件。 首先,web.xml文件在Web...

    在web.xml中配置action或.do

    它不仅定义了Web应用的基本配置,还管理着诸如Servlet、过滤器(Filter)、监听器(Listener)等组件的配置信息。本文将详细介绍如何在`web.xml`中配置action或.do文件,以实现特定的功能需求。 #### 二、背景知识 在...

    SpringMVC基于代码的配置方式(零配置,无web.xml)

    传统的SpringMVC配置往往依赖于XML文件,如web.xml和spring-servlet.xml等,但随着Spring框架的发展,出现了基于代码的配置方式,实现了零XML配置,提高了开发效率。本文将详细介绍如何在不使用web.xml的情况下,...

    web.xml文件配置.doc

    《web.xml文件配置详解...合理配置和排序可以确保过滤器、监听器和servlet按照预期工作,提高应用的响应速度和效率。在开发过程中,应仔细调整这些元素,以满足具体需求,同时遵循最佳实践,确保代码的可读性和维护性。

    tomcat配置文件web.xml与server.xml解析

    Tomcat 配置文件 web.xml 与 server.xml 解析 Tomcat 配置文件 web.xml 和 server.xml 是 Tomcat 自身的配置文件,用于配置...同时,事件监听器和过滤器也可以在 web.xml 文件中进行配置,以监听和处理 Servlet 事件。

Global site tag (gtag.js) - Google Analytics