Filter :
成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、全網(wǎng)整合營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)、手機(jī)網(wǎng)站開發(fā)、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)公司、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為加固行業(yè)客戶提供了網(wǎng)站改版服務(wù)。
Java中的Filter 并不是一個標(biāo)準(zhǔn)的Servlet ,它不能處理用戶請求,也不能對客戶端生成響應(yīng)。 主要用于對HttpServletRequest 進(jìn)行預(yù)處理,也可以對HttpServletResponse 進(jìn)行后處理,是個典型的處理鏈。
過濾鏈的好處是,執(zhí)行過程中任何時候都可以打斷,只要不執(zhí)行chain.doFilter()就不會再執(zhí)行后面的過濾器和請求的內(nèi)容。
1、filter的驅(qū)動:
在 web 應(yīng)用程序啟動時,web 服務(wù)器將根據(jù) web.xml 文件中的配置信息來創(chuàng)建每個注冊的 Filter 實(shí)例對象,并將其保存在服務(wù)器的內(nèi)存中
<filter>
<filter-name>helloFilter</filter-name>
<filter-class>com.jalja.filter.HelloFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>helloFilter</filter-name>
<!-- 要攔截的資源 -->
<url-pattern>/freeMark</url-pattern>
</filter-mapping>
2、filter接口:
//destory() 在Web容器卸載 Filter 對象之前被調(diào)用。該方法在Filter的生命周期中僅執(zhí)行一次。在這個方法中,可以釋放過濾器使用的資源。
public void destroy()
//Filter 鏈的執(zhí)行
//chain.doFilter(request, response);//把請求傳給下一個filter,如果該filter是該filter鏈的最后一個filter,則把請求給目標(biāo)資源
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)
//類似于servlet的init方法,在創(chuàng)建Filter對象時被調(diào)用,只調(diào)用一次,對當(dāng)前的filter進(jìn)行初始化操作,filter單例
//FilterConfig 類似于servletConfig 可以獲得Filter的初始化參數(shù)信息
public void init(FilterConfig filterConfig)
3、filter 攔截順序:
web.xml中配置多個filter時構(gòu)成filter鏈,他們的攔截順序取決于<filter-mapping>的順序
4、filter默認(rèn)過濾的是 請求資源,如果是 其他方式的請求則過濾器無效 ,如果要使用就要在<filter-mapping>中添加<dispatcher>來指定過濾方式
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
當(dāng)前文章:ServletFilter
網(wǎng)頁鏈接:http://jinyejixie.com/article26/ppegcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、Google、品牌網(wǎng)站制作、標(biāo)簽優(yōu)化、外貿(mào)建站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)