Filter的意思是可以在Servlet實例進行實質性的處理之前,起到“過濾”的作用.
一個Filter可以過濾一個或多個Servlet,Filter必須實現javax.Servlet.Filter接口,并且必須定義以下三個方法:init(),destory(),doFilter().
下面的例子演示記錄客戶端主機信息的Filter:
當前web應用的web.xml配置為:
最后用myeclipse插件自動部署到tomcat路徑下,啟動tomcat,在瀏覽器中輸入
http://localhost:8080/Filter/ (Filter為此web應用名稱)
可以在tomcat 目錄的log目錄下的localhost.2006-01-02.log看到以下消息:
2006-1-2 16:25:51 org.apache.catalina.core.ApplicationContext log
信息: [127.0.0.1] request: /Filter/
2006-1-2 16:25:51 org.apache.catalina.core.ApplicationContext log
信息: [127.0.0.1] done
這表明logFilter已經被server調用成功.
當然在實際應用中filter還有其他用處,象登陸驗證,編碼轉化等.
Java天下社區
http://www.javatx.cn歡迎大家上來交流Java技術。