1 基本概念
<1> Filter本意為”過濾“的含義,是JavaWeb的三大組件之一,
三大組件為:Servlet、Filter、Listener
<2> 過濾器,是向 Web 應用程序的請求&響應處理添加功能的 Web 服務組件
<3> 過濾器,相當於瀏覽器與Web資源之間的一道過濾網,
在訪問資源之前,通過一系列的過濾器,對請求進行修改、判斷以及攔截等,
也可以對響應進行修改、判斷以及攔截等
2 工作方式
3 使用方式
自定義類,實現Filter接口,並重寫doFilter方法
public class LoginFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException { //TODO 處理邏輯,必須調用下面的方法 chain.doFilter(request,response); } }
在web.xml文件中配置過濾器
<filter> <filter-name>LoginFilter</filter-name> <filter-class>com.lagou.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern> /當請求此頁面時,觸發過濾器 </url-pattern> </filter-mapping>
例子:
為登錄功能添加過濾器,進行用戶的身份認證
1. 編寫登錄邏輯
2. 編寫過濾器
3. 配置(啟用)過濾器