Servlet過濾器使用.doc_第1頁
Servlet過濾器使用.doc_第2頁
Servlet過濾器使用.doc_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Servlet過濾器使用(javax.servlet.Filter)作者:本站原創(chuàng)發(fā)布時間:2010-06-10來源:JAVA中文網 點我投稿教程由JAVA中文網整理校對發(fā)布(javaweb.cc)過濾器(Filter)的概念過濾器位于客戶端和web應用程序之間,用于檢查和修改兩者之間流過的請求和響應。 在請求到達Servlet/JSP之前,過濾器截獲請求。 在響應送給客戶端之前,過濾器截獲響應。 多個過濾器形成一個過濾器鏈,過濾器鏈中不同過濾器的先后順序由部署文件web.xml中過濾器映射的順序決定。 最先截獲客戶端請求的過濾器將最后截獲Servlet/JSP的響應信息。 過濾器的鏈式結構可以為一個Web應用組件部署多個過濾器,這些過濾器組成一個過濾器鏈,每個過濾器只執(zhí)行某個特定的操作或者檢查。這樣請求在到達被訪問的目標之前,需要經過這個過濾器鏈。 實現(xiàn)過濾器在Web應用中使用過濾器需要實現(xiàn)javax.servlet.Filter接口,實現(xiàn)Filter接口中所定義的方法,并在web.xml中部署過濾器。public class MyFilter implements Filter public void init(FilterConfig fc) /過濾器初始化代碼public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) /在這里可以對客戶端請求進行檢查/沿過濾器鏈將請求傳遞到下一個過濾器。chain.doFilter(request, response);/在這里可以對響應進行處理public void destroy( ) /過濾器被銷毀時執(zhí)行的代碼Filter接口public void init(FilterConfig config)web容器調用本方法,說明過濾器正被加載到web容器中去。容器只有在實例化過濾器時才會調用該方法一次。容器為這個方法傳遞一個FilterConfig對象,其中包含與Filter相關的配置信息。public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)每當請求和響應經過過濾器鏈時,容器都要調用一次該方法。需要注意的是過濾器的一個實例可以同時服務于多個請求,特別需要注意線程同步問題,盡量不用或少用實例變量。在過濾器的doFilter()方法實現(xiàn)中,任何出現(xiàn)在FilterChain的doFilter方法之前地方,request是可用的;在doFilter()方法之后response是可用的。public void destroy()容器調用destroy()方法指出將從服務中刪除該過濾器。如果過濾器使用了其他資源,需要在這個方法中釋放這些資源。部署過濾器在Web應用的WEB-INF目錄下,找到web.xml文件,在其中添加如下代碼來聲明Filter。MyF.uibe.webdev.MyFilterdeveloperTongQiang針對一個Servlet做過濾MyFilterMyServlet針對URL Pattern做過濾MyFilter/book/*標記是有先后順序的,它的聲明順序說明容器是如何形成過濾器鏈的。過濾器應當設計為在部署時很容易配置的形式。通過認真計劃和使用初始化參數,可以得到復用性很高的過濾器。 過濾器邏輯與Servlet邏輯不同,它不依賴于任何用戶狀態(tài)信息,因為一個過濾器實例可能同時處理多個完全不同的請求。Servlet過濾器使用(javax.servlet.Filter)(本教程僅供研究和學習,不代表JAVA中文網觀點)本篇文章鏈接地址:http:/www.javaweb.cc/architecture/servlet/101950.shtml如需轉載請注明出自JAVA中文網:ht

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論