1. 程式人生 > >Java監聽器Listener使用說明

Java監聽器Listener使用說明

1、什麼是Java監聽器

監聽器也叫Listener,是Servlet監聽器,它可以監聽客戶端的請求、服務端的操作等。通過監聽器,可以自動激發一些操作,比如監聽線上的使用者的數量。

2、Listener介面分類

1.1> ServletContextListener監聽ServletContext物件

1.2> ServletContextAttributeListener監聽對ServletContext屬性的操作,比如增加、刪除、修改

2.1> HttpSessionListener監聽Session物件

2.2> HttpSessionActivationListener

監聽HTTP會話的activepassivate情況,passivate是指非活動的session被寫入持久裝置(比如硬碟),active相反。

2.3> HttpSessionAttributeListener監聽Session中的屬性操作

3.1> ServletRequestListener監聽Request物件

3.2> ServletRequestAttributeListener監聽Requset中的屬性操作

3、Java程式碼

   1.1> ServletContextListener

contextInitialized(ServletContextEvent) 初始化時呼叫

contextDestoryed(ServletContextEvent) 銷燬時呼叫,即當伺服器重新載入時呼叫

   2.1>HttpSessionListener

sessionCreated(HttpSessionEvent) 初始化時呼叫

sessionDestoryed(HttpSessionEvent) 銷燬時呼叫,即當用戶登出時呼叫

   3.1>ServletRequestListener

requestinitialized(ServletRequestEvent) 對實現客戶端的請求進行監聽

requestDestoryed(ServletRequestEvent) 對銷燬客戶端進行監聽,即當執行

request.removeAttribute("XXX")時呼叫

4、Demo

1>建立Java類,實現對應的介面

package com.lacom;

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

publicclass TestSessionListener implements HttpSessionListener {

@Override

publicvoid sessionCreated(HttpSessionEvent event) {

// session 建立時執行的操作

// 例如:線上人數+1

}

@Override

publicvoid sessionDestroyed(HttpSessionEvent event) {

// session 銷燬時執行的操作

// 例如:線上人數-1

}

}

2>web.xml中配置

<?xml version="1.0" encoding="UTF-8"?>

<web-appweb-appversion="2.5" 

xmlns="http://java.sun.com/xml/ns/javaee" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<listener>

<listener-class>com.lacom.TestSessionListener</listener-class>

</listener>

</web-app>

5、Java專案中用到的spring監聽器

ContextLoaderListener

作用

啟動Web容器時,自動裝配ApplicationContext的配置資訊。

用法:

第一種:直接將applicationContext.xml(spring的配置檔案)放到/WEB-INF下,只在web.xml中宣告一個listener

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

第二種:將之放到classpath下,但是此時要在web.xml中加入<context-param>,用它來指明你的applicationContext.xml的位置以供web容器來載入。如果有多個xml檔案,可以寫在一起並用“,”號分隔。例如近鐵專案中的配置:

Log4jConfigListener

好處:   1. 動態的改變記錄級別和策略,不需要重啟Web應用,如《Effective Enterprise Java》所說。   2. log檔案定在 /WEB-INF/logs/ 而不需要寫絕對路徑。因為 系統把web目錄的路徑壓入一個叫webapp.root的系統變數。這樣寫log檔案路徑時不用寫絕對路徑了.log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log   3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path   4.log4jRefreshInterval60000表示 開一條watchdog執行緒每60秒掃描一下配置檔案的變化;

用法:   在web.xml 新增<context-param>        <param-name>log4jConfigLocation</param-name>        <param-value>WEB-INF/log4j.properties</param-value>    </context-param>

    <context-param>        <param-name>log4jRefreshInterval</param-name>        <param-value>60000</param-value>    </context-param>

    <listener>        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>    </listener>

相關推薦

java監聽器listener學習

學習 等等 request etc contex req https request對象 tps 監聽器主要用於監聽web應用中某些對象、信息的創建、銷毀、增加、修改、刪除等操作的發生,然後做出相應的響應處理。當監聽器監聽的範圍對象的狀態發生變化時,服務器自動調用監聽器對象

Java監聽器Listener使用詳解

request對象 數值 context 信息 event 順序 -c 以及 too 監聽器用於監聽web應用中某些對象、信息的創建、銷毀、增加,修改,刪除等動作的發生,然後作出相應的響應處理。當範圍對象的狀態發生變化的時候,服務器自動調用監聽器對象中的方法。常用於統計在線

Java監聽器Listener使用說明

1、什麼是Java監聽器 監聽器也叫Listener,是Servlet的監聽器,它可以監聽客戶端的請求、服務端的操作等。通過監聽器,可以自動激發一些操作,比如監聽線上的使用者的數量。 2、Listener介面分類 1.1> ServletContextListene

java web用監聽器listener簡單的實現在線統計人數

response pre 工程 zed import javax valueof request context 今天又重新學習了java web的基礎 監聽器技術,用sessionListener簡單的實現了網頁統計在線人數 (有一個bug就是當關閉網頁的時候 se

Java Web(五) 監聽器Listener

用戶 on() std 部署 ppi tin nco err create 監聽器概述 在上一篇裏介紹了過濾器Filter,而Listener是Servlet的另一個高級特性。Listener用於監聽Java Web程序中的事件,例如創建,修改,刪除Session,requ

javalistener(監聽器) 中使用Spring容器注入bean

今天在SSH的專案開發中,用到了監聽器Listener,並且需要在Listener中使用到Spring容器中的Bean。Spring容器本身就是在web.xml中使用listener的方式啟動的。想在例

添加監聽器listener

port on() context sys author erl ++ key cut 全局註冊,所有Job都會起作用 JobCountListener listener = new JobCountListener(); sched.getListenerManager

Javaweb基礎--->監聽器listener(轉發)

acl location 服務 sun 步驟 刪除 gac 分鐘 mls JavaWeb中的監聽器 1、基本概念   JavaWeb中的監聽器是Servlet規範中定義的一種特殊類,它用於監聽web應用程序中的ServletContext, HttpSession和 Ser

java監聽器之實現在線人數顯示

tomcat -- 產生 並且 過期 lis efficient 屬性 活動 在碼農的世界裏只有bug才能讓人成長,The more bugs you encounter, the more efficient you will be! java中的監聽器分為三種:Ser

java監聽器的原理與實現

來看 class copyto 圖片 http size stat 順序 方法 監聽器模型涉及以下三個對象,模型圖如下: (1)事件:用戶對組件的一個操作,稱之為一個事件 (2)事件源:發生事件的組件就是事件源 (3)事件監聽器(處理器):監聽並負責處理事件的方法 執行順序

java----監聽器的作用

pre 我們 IT 執行過程 string gif 內容 傳遞 int   監聽器是JAVA Web開發中很重要的內容,其中涉及到的知識,可以參考下面導圖: Web監聽器   1 什麽是web監聽器?   web監聽器是一種Servlet中的特殊的類,它們能幫助開

監聽器Listener

odi car schedule zab list time charset xid tee 1.ServletContext監聽器: 用來監聽ServletContext的創建與銷毀 步驟: a、編寫一個監聽器類去實現監聽器接口 b、覆蓋監聽器的方法 c、需要在web.x

java_day29_Servlet三大組件之監聽器listener

在線人數 3.1 tro con 時間 left lte 分享 技術 監聽器listener 一.監聽器listener   1.Listener是javaWeb提供的三大組件之一,它是用來在特定時間來提供回調的,我們可以通過創建不同種類的listener來實現在不同情況下

初識 Java-監聽器

attribute web應用 包含 ont 文件中 進行 用戶 nbsp 配置 使用Listener類當java web應用程序在web容器中運行時,在java web應用程序內部會不斷發生各種事件,例如web應用的啟動,暫停,銷毀等。以及web應用中session開始

Java——監聽器

req quest ava 行為 什麽是 劃分 二維 tps 觸發 一、監聽器Listener 1.什麽是監聽器? 監聽器就是監聽某個對象的的狀態變化的組件 監聽器的相關概念: 事件源:被監聽的對象 ----- 三個域對象 request session servle

Servlet3.0學習總結(四)——使用註解標註監聽器(Listener)

Servlet3.0提供@WebListener註解將一個實現了特定監聽器介面的類定義為監聽器,這樣我們在web應用中使用監聽器時,也不再需要在web.xml檔案中配置監聽器的相關描述資訊了。   下面我們來建立一個監聽器,體驗一下使用@WebListener註解標註監聽器,如下所示:

Spring Boot (Web 篇):整合監聽器Listener

說在前面 Listener簡介:https://blog.csdn.net/Soinice/article/details/82787964 上一篇文章已經對定義Filter 的方法進行了說明,監聽器(Listener)的註冊方法和Filter一樣,不清楚的可以檢視下上一篇文章:http

javalistener、filter、interceptor作用和區別

原文出自https://blog.csdn.net/Jintao_Ma/article/details/52972482 JavaWeb中監聽器+過濾器+攔截器區別、配置和實際應用 1.前言 上一篇文章提到在web.xml中各個元素的執行順序是這樣的,context-param-->

Servlet中幾個監聽器Listener的使用例項

目錄 本文要實現的監聽器介面列表 自定義的監聽器例項 1,ServletContextListener 2,ServletContextAttributeListener 3,HttpSessionListener 4,HttpSessionAttributeListener

Web - 過濾器Filter & 監聽器Listener

一、過濾器Filter filter執行在servlet和jsp之前 , 對客戶端訪問的資源進行過濾.        符合條件放行 , 不符合條件不放行 .(使用FilterChain.doFilter方法放行!)