サーブレットリスナーとフィルターの概要

リスナー

 

3つのドメインオブジェクトの分類と性質

 

 

 

 

 リスナーは、グローバルスコープオブジェクトの共有データが変更されたときにトリガーされます

 

 

 

 

 

 まず、リクエストに応答するサーブレットを定義し、グローバルスコープの共有データを更新してリスナーをトリガーします

パブリック クラスOneServletはHttpServletを拡張し

    ます{ 
    @Override protected  void doGet(HttpServletRequest req、HttpServletResponse resp)throws ServletException、IOException { 

        ServletContext app = req.getServletContext(); 
        app.setAttribute(" key "100 ); 
        app.setAttribute(" key "200 ); 
        app.removeAttribute(" key " ); 

    } 
}

リスナーの使用

@WebListener()
 パブリック クラスを実装するのServletContextListener OneListener、ServletContextAttributeListenerは{
     / * * 
     *監視する責任のServletContextListener 
     *アプリケーションが初期化と呼ばれている
     * @paramのSCE 
     * / 
    @Override 
    公共 のボイドcontextInitialized(ServletContextEventのSCE){ 
        システム。OUT .println(グローバルの役割ドメインオブジェクトは初期化されます" ); 
    } 

    / * * 
     * ServletContextListenerは監視を担当し
     ます
     * アプリケーションが破棄されたときに呼び出されます* @param sce 
     * / 
    @Override 
    public  voidcontextDestroyed(ServletContextEventのSCE){ 
        システム。OUT .println(" グローバルスコープ・オブジェクトが破棄される" ); 
    } 

    / * * 
     *監視する責任ServletContextAttributeListener 
     *アプリケーションが新しい共有データを追加するコールトリガ
     * @paramのSCAE 
     * / 
    @Override 
    公共 ボイド(ServletContextAttributeEvent SCAE)attributeAdded { 
        システム。OUT .println(" 新しい共有データ" ); 
    } 

    / * * 
     *監視する責任ServletContextAttributeListener 
     トリガ・アプリケーション更新共有データ
     * @paramのSCAE 
     * /
    @Override 
    公共 ボイドattributeReplaced(ServletContextAttributeEvent SCAE){ 
        システム。OUT .println(" 更新共有データ" ); 
    } 

    / * * 
     *監視する責任ServletContextAttributeListener 
     データが削除される*トリガアプリケーション共有
     * @paramのSCAE 
     * / 
    @Override 
    公共 ボイドattributeRemoved (ServletContextAttributeEvent SCAE){ 
        システム。OUTの .println(" 共有データを削除" ); 
    } 
}

web.xml登録リスナー

< リスナー> 
        < リスナークラス> com.bjpowernode.listener.OneListener </ リスナークラス> 
    </ リスナー> 

    < サーブレット> 
        < サーブレット名> OneServlet </ サーブレット名> 
        < サーブレットクラス> com.bjpowernode.controller .OneServlet </ servlet-class > 
    </ servlet > 
    < servlet-mapping > 
        < servlet-name > OneServlet </ servlet-name >
        <url-pattern > /one.do </ url-pattern > 
    </ servlet-mapping >

 

おすすめ

転載: www.cnblogs.com/zsben991126/p/12712059.html