天天看點

servlet過濾器

一.過濾器作用

使用者認證與授權管理,統計web應用通路量(找到就通路,沒的話轉到其他頁面)和通路命中率和形成通路報告。

實作web應用的日志處理功能

實作資料壓縮和加密功能

實作xml和xstl的轉換。

二.預備知識

init() :這個方法在容器執行個體化過濾器時被調用,它主要設計用于使過濾器為處理做準備。該方法接受一個 FilterConfig 類型的對象作為輸入。

doFilter() :與 servlet 擁有一個 service() 方法(這個方法又調用 doPost() 或者 doGet() )來處理請求一樣,過濾器擁有單個用于處理請求和響應的方法?D?D doFilter() 。這個方法接受三個輸入參數:一個 ServletRequest 、 response 和一個 FilterChain (可能多個filter,按順序執行)對象。 這裡的ServletRequest和ServletResponse一般需要轉換成具體的Servlet實作對于的對象,如:HttpServletRequest和HttpServletResponse。

doFilter(ServletRequest request, ServletResponse response, FilterChain chain)

destroy() :正如您想像的那樣,這個方法執行任何清理操作,這些操作可能需要在自動垃圾收集之前進行。當Servlet容器在銷毀過濾器執行個體前,該方法銷毀過濾器占用的資源。

三.代碼

        1.通路時間限制

       2.登陸限制

        3.過濾敏感詞