1. 程式人生 > >Filter過濾器的編寫及其配置

Filter過濾器的編寫及其配置

編寫流程:
        1.寫一個類實現Filter介面
        2.實現所有方法,doFilter為核心方法
        3.配置Filter,配置檔案web.xml或者註解配置。
    1. web.xml配置    
            <filter>
                <filter-name>demo1</filter-name>
                <filter-class>cn.itcast.web.filter.FilterDemo1</filter-class>
            </filter>
            <filter-mapping>
                <filter-name>demo1</filter-name>
                <!-- 攔截路徑 -->
                <url-pattern>/*</url-pattern>
            </filter-mapping>
    2.執行流程
        doFilter:每一次請求被攔截資源時,會執行。執行多次
    3.攔截路徑配置:
        和Servlet的路徑配置規則一致
            完全路徑匹配
                /aaa  /aa/aaa
            目錄匹配
                /* /aaa/* /aaa/bbb/*
            副檔名匹配
                *.xxx
        和Servlet不同,Filter的攔截路徑沒有優先順序,Filter的匹配路徑相同時,所有符合規則的Filter都會執行。
    4.攔截方式
        註解配置:
            設定dispatcherTypes屬性
                1. REQUEST:預設值。瀏覽器直接請求資源,新的請求到來時攔截
                2. FORWARD:轉發訪問資源。只有轉發的請求才會攔截。
        web.xml配置
            <filter-mapping>
                <filter-name>demo1</filter-name>
                <url-pattern>/*</url-pattern>
                <dispatcher>REQUEST</dispatcher>
                <dispatcher>FORWARD</dispatcher>
            </filter-mapping>