偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Servlet監(jiān)聽器概念特點常用概述

開發(fā) 后端
Servlet監(jiān)聽器用于監(jiān)聽一些重要事件的發(fā)生,Servlet監(jiān)聽器對象可以在事情發(fā)生前、發(fā)生后可以做一些必要的處理。

Servlet監(jiān)聽器監(jiān)聽器概述

◆Listener是Servlet的監(jiān)聽器

◆可以監(jiān)聽客戶端的請求、服務端的操作等。

◆通過監(jiān)聽器,可以自動激發(fā)一些操作,如監(jiān)聽在線用戶數(shù)量,當增加一個HttpSession時,給在線人數(shù)加1。

◆編寫監(jiān)聽器需要實現(xiàn)相應的接口

◆編寫完成后在web.xml文件中配置一下,就可以起作用了

◆可以在不修改現(xiàn)有系統(tǒng)基礎(chǔ)上,增加web應用程序生命周期事件的跟蹤

常用的Servlet監(jiān)聽器監(jiān)聽接口

◆ServletContextAttributeListener

監(jiān)聽對ServletContext屬性的操作,比如增加/刪除/修改

◆ServletContextListener

監(jiān)聽ServletContext,當創(chuàng)建ServletContext時,激發(fā)contextInitialized(ServletContextEvent sce)方法;當銷毀ServletContext時,激發(fā)contextDestroyed(ServletContextEvent sce)方法。

◆HttpSessionListener

監(jiān)聽HttpSession的操作。當創(chuàng)建一個Session時,激發(fā)session Created(SessionEvent se)方法;當銷毀一個Session
時,激發(fā)sessionDestroyed (HttpSessionEvent se)方法。

◆HttpSessionAttributeListener

監(jiān)聽HttpSession中的屬性的操作。當在Session增加一個屬性時,激發(fā)attributeAdded(HttpSessionBindingEvent se) 方法;當在Session刪除一個屬性時,激發(fā)attributeRemoved(HttpSessionBindingEvent se)方法;當在Session屬性被重新設(shè)置時,激發(fā)attributeReplaced(HttpSessionBindingEvent se) 方法。

使用范例:

由Servlet監(jiān)聽器管理共享數(shù)據(jù)庫連接

生命周期事件的一個實際應用由context監(jiān)聽器管理共享數(shù)據(jù)庫連接。在web.xml中如下定義監(jiān)聽器:

  1. ﹤listener﹥  
  2.     ﹤listener-class﹥XXX.MyConnectionManager﹤/listener-class﹥  
  3. ﹤/listener﹥  


server創(chuàng)建監(jiān)聽器的實例,接受事件并自動判斷實現(xiàn)監(jiān)聽器接口的類型。要記住的是由于監(jiān)聽器是配置在部署描述符web.xml中,所以不需要改變?nèi)魏未a就可以添加新的監(jiān)聽器。

  1. public class MyConnectionManager implements ServletContextListener{    
  2.   public void contextInitialized(ServletContextEvent e) {   
  3.         Connection con = // create connection   
  4.         e.getServletContext().setAttribute("con", con);   
  5.     }    
  6.    public void contextDestroyed(ServletContextEvent e) {   
  7.         Connection con = (Connection) e.getServletContext().getAttribute("con");   
  8.         try {  
  9.           con.close();   
  10.         }   
  11.        catch (SQLException ignored) { } // close connection   
  12.     }   
  13. }   

Servlet監(jiān)聽器保證每新生成一個servlet context都會有一個可用的數(shù)據(jù)庫連接,并且所有的連接對會在context關(guān)閉的時候隨之關(guān)閉。

計算在線用戶數(shù)量的Linstener

(1)Package xxx;

  1. public class OnlineCounter {    
  2.    private static long online = 0;       
  3.    public static long getOnline(){  
  4.       return online;  
  5.     }  
  6.     public static void raise(){   
  7.        online++;  
  8.     }  
  9.     public static void reduce(){   
  10.        online--;   
  11.    }  
  12. }  
  1. import javax.servlet.http.HttpSessionEvent;  
  2. import javax.servlet.http.HttpSessionListener;  
  3.  
  4. public class OnlineCounterListener implements HttpSessionListener{  
  5.     public void sessionCreated(HttpSessionEvent hse) {   
  6.         OnlineCounter.raise();    
  7.     }   
  8.    public void sessionDestroyed(HttpSessionEvent hse){    
  9.         OnlineCounter.reduce();  
  10.     }   
  11.  }  

在需要顯示在線人數(shù)的JSP中可是使用目前在線人數(shù):

  1. ﹤%@ page import=“xxx.OnlineCounter" %﹥  
  2. ﹤%=OnlineCounter.getOnline()%﹥ 

退出會話(可以給用戶提供一個注銷按鈕):

  1. ﹤form action="exit.jsp" method=post﹥   
  2.   ﹤input type=submit value="exit"﹥   
  3. ﹤/form﹥  

exit.jsp: ﹤%session.invalidate() ;%﹥

在web.xml中加入:

  1. ﹤listener﹥   
  2.   ﹤listener-class﹥servletlistener111111.SecondListener﹤/listener-class﹥  
  3. ﹤/listener﹥ 

Servlet監(jiān)聽器怎么樣,就是這么簡單,不用對現(xiàn)有代碼做任何的修改。趕緊試試吧!

【編輯推薦】

  1. 什么是Servlet以及常用Servlet API有哪些
  2. Java Servlets(JSP)開發(fā)環(huán)境
  3. 開發(fā)JSP HTTP服務器
  4. Servlet和JSP路徑詳細介紹
  5. JSP和Servlet中的幾個編碼的作用及原理
責任編輯:仲衡 來源: 編程入門網(wǎng)
相關(guān)推薦

2009-07-08 17:39:23

Servlet監(jiān)聽器

2011-03-21 16:21:49

Oracle監(jiān)聽口令監(jiān)聽器

2009-09-27 17:46:22

Hibernate監(jiān)聽

2009-07-06 13:02:49

Servlet過濾器

2011-05-16 10:14:11

Hibernate

2010-01-13 09:49:09

注釋監(jiān)聽器Listener

2011-06-01 14:55:24

Android Service 監(jiān)聽器

2010-04-23 18:00:31

2009-01-03 13:37:26

Oracle監(jiān)聽器Oracle服務器Oracle網(wǎng)絡(luò)配置

2010-02-22 15:06:31

WCF信道監(jiān)聽器

2009-11-09 10:03:09

WCF通道監(jiān)聽器

2023-01-06 08:55:00

2009-11-18 18:28:27

Oracle監(jiān)聽器

2012-02-03 13:27:16

2010-08-09 11:06:01

Flex事件機制

2010-04-19 15:38:10

2010-04-23 10:13:18

Oracle監(jiān)聽

2009-07-06 09:03:10

Servlet定義

2020-04-20 11:09:49

過濾器監(jiān)聽器 Web

2009-06-22 09:23:18

事件監(jiān)聽器
點贊
收藏

51CTO技術(shù)棧公眾號