成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Servlet監聽器概念特點常用概述

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

Servlet監聽器監聽器概述

◆Listener是Servlet的監聽器

◆可以監聽客戶端的請求、服務端的操作等。

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

◆編寫監聽器需要實現相應的接口

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

◆可以在不修改現有系統基礎上,增加web應用程序生命周期事件的跟蹤

常用的Servlet監聽器監聽接口

◆ServletContextAttributeListener

監聽對ServletContext屬性的操作,比如增加/刪除/修改

◆ServletContextListener

監聽ServletContext,當創建ServletContext時,激發contextInitialized(ServletContextEvent sce)方法;當銷毀ServletContext時,激發contextDestroyed(ServletContextEvent sce)方法。

◆HttpSessionListener

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

◆HttpSessionAttributeListener

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

使用范例:

由Servlet監聽器管理共享數據庫連接

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

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


server創建監聽器的實例,接受事件并自動判斷實現監聽器接口的類型。要記住的是由于監聽器是配置在部署描述符web.xml中,所以不需要改變任何代碼就可以添加新的監聽器。

  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監聽器保證每新生成一個servlet context都會有一個可用的數據庫連接,并且所有的連接對會在context關閉的時候隨之關閉。

計算在線用戶數量的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.  }  

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

  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監聽器怎么樣,就是這么簡單,不用對現有代碼做任何的修改。趕緊試試吧!

【編輯推薦】

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

2009-07-08 17:39:23

Servlet監聽器

2011-03-21 16:21:49

Oracle監聽口令監聽器

2009-09-27 17:46:22

Hibernate監聽

2009-07-06 13:02:49

Servlet過濾器

2011-05-16 10:14:11

Hibernate

2010-01-13 09:49:09

注釋監聽器Listener

2011-06-01 14:55:24

Android Service 監聽器

2010-04-23 18:00:31

2009-01-03 13:37:26

Oracle監聽器Oracle服務器Oracle網絡配置

2009-11-18 18:28:27

Oracle監聽器

2010-02-22 15:06:31

WCF信道監聽器

2009-11-09 10:03:09

WCF通道監聽器

2023-01-06 08:55:00

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監聽

2020-04-20 11:09:49

過濾器監聽器 Web

2009-07-06 09:03:10

Servlet定義

2009-06-22 09:23:18

事件監聽器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线视频日韩精品 | 久久综合久久久 | 亚洲精品一区二区三区 | 超碰97免费 | 欧美成人手机视频 | 国产精品久久网 | 亚洲毛片在线观看 | 伊人伊成久久人综合网站 | 欧美自拍另类 | 中文字幕一区二区三区四区五区 | 少妇一级淫片免费播放 | 中文二区| 九九热九九 | 亚洲国产成人av | 真人一级毛片 | 99精品一区二区 | 亚洲欧美一区二区三区在线 | 成人欧美一区二区三区在线观看 | 亚洲精品一区二三区不卡 | 日韩电影a| 久草在线 | 69性欧美高清影院 | 福利视频一区二区 | 日日天天 | 久久久久九九九九 | 欧美激情视频网站 | 99久久久久久 | 精品一区二区三区中文字幕 | 天天看天天干 | 香蕉久久a毛片 | 国产精品视频观看 | 在线精品一区二区三区 | 久草免费在线视频 | 欧美高清hd | 日本淫视频 | 欧美视频区 | 亚洲精品成人在线 | 亚洲精品一区二区在线 | 国产特一级黄色片 | 91精品国产777在线观看 | 中文字幕一区二区三区精彩视频 |