Java Web監(jiān)聽(tīng)器Listener接口原理及用法實(shí)例
監(jiān)聽(tīng)器主要針對(duì)三個(gè)對(duì)象
- ServletContext
- HttpSession
- ServletRequest
使用方式
- 創(chuàng)建*Listener接口的實(shí)現(xiàn)類(lèi)
- 在web.xml中注冊(cè)該類(lèi)
在同時(shí)注冊(cè)多個(gè)同接口的監(jiān)聽(tīng)器時(shí),執(zhí)行順序參照web.xml中的注冊(cè)順序
- 監(jiān)聽(tīng)器監(jiān)聽(tīng)類(lèi)型
- 對(duì)象的創(chuàng)建和銷(xiāo)毀
- 對(duì)象屬性的添加、替換、移除
創(chuàng)建實(shí)現(xiàn)類(lèi)
// 用于監(jiān)聽(tīng)session創(chuàng)建和銷(xiāo)毀的監(jiān)聽(tīng)器
package listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
// 獲取本次事件創(chuàng)建session的id
String sessionId = httpSessionEvent.getSession().getId();
System.out.println("create session that id = " + sessionId);
}
@Override
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
// 刪除session的id
String sessionId = httpSessionEvent.getSession().getId();
System.out.println("session has been destroy that id = " + sessionId);
}
}
在web.xml中注冊(cè)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
<!-- 在listener包下的SessionListener類(lèi) -->
<listener-class>listener.SessionListener</listener-class>
</listener>
</web-app>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java聊天室之實(shí)現(xiàn)聊天室服務(wù)端功能
這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之實(shí)現(xiàn)聊天室服務(wù)端功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10
Java使用Sftp和Ftp實(shí)現(xiàn)對(duì)文件的上傳和下載
這篇文章主要介紹了Java使用Sftp和Ftp實(shí)現(xiàn)對(duì)文件的上傳和下載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
詳解Mybatis中的 ${} 和 #{}區(qū)別與用法
這篇文章主要介紹了Mybatis中的 ${} 和 #{}區(qū)別與用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
淺談在Java中使用Callable、Future進(jìn)行并行編程
這篇文章主要介紹了淺談在Java中使用Callable、Future進(jìn)行并行編程,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
一篇文章教你用Java使用JVM工具檢測(cè)問(wèn)題
這篇文章主要介紹了深入理解Java使用JVM工具檢測(cè)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-09-09
Java 中函數(shù) Function 的使用和定義示例小結(jié)
這篇文章主要介紹了Java 中函數(shù) Function 的使用和定義小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07

