Filter

Filter

Servlet過濾器

Servlet過濾器生命週期

Servlet的生命週期(*)
Filter生命週期:過濾器從創建到銷燬的過程.
服務器啓動的時候,服務器就會創建過濾器的對象,每次訪問被攔截目標資源,過濾器中的doFilter的方法就會執行.當服務器關閉的時候,服務器就會銷燬Filter對象.

FilterConfig的作用

        // 獲得初始化參數:過濾器的初始化參數.
        String username = fConfig.getInitParameter("username");
        String password = fConfig.getInitParameter("password");
        System.out.println("初始化參數"+username+"   "+password);

        // 獲得所有的初始化參數的名稱:
        Enumeration<String> names = fConfig.getInitParameterNames();
        while(names.hasMoreElements()){
            String name = names.nextElement();
            String value = fConfig.getInitParameter(name);
            System.out.println(name+"    "+value);
        }

        // 獲得過濾器的配置的名稱:
        String filterName = fConfig.getFilterName();
        System.out.println("過濾器名稱"+filterName);

FilterChain

過濾器鏈中的過濾器的執行的順序跟<filter-mapping>的配置順序有關.
doFilter(ServletRequest request,ServletResponse response)

Filter的配置

【url-pattern的配置】與servlet中的配置一樣:
* 三種配置:
    * 完全路徑匹配:以 / 開始   /aaa /aaa/bbb
    * 目錄匹配:     以 / 開始   /*  /aaa/*
    * 擴展名匹配:  不能以 / 開始  *.do  *.jsp  *.action

【servlet-name的配置】通過url-pattern攔截一個Servlet的資源.也可以通過servlet-name標籤進行攔截.

【dispatcher的配置】
* REQUEST   :默認值.
* FORWARD   :攔截轉發
* ERROR     :攔截跳轉到錯誤頁面.全局錯誤頁面.  
* INCLUDE   :攔截在一個頁面中包含另一個頁面.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章