W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
過濾器(Filter),并非必須,但很實(shí)用。
過濾器是一種設(shè)計(jì)模式,主要用來封裝Servlet中一些通用的代碼。在web.xml中配置哪些URL對(duì)應(yīng)哪些過濾器。
一個(gè)過濾器的寫法如下:
public void doFilter(ServletRequest request , ServletResponse response , FilterChain chain) {
//處理 request
chain.doFilter(request, response);
//處理 response
}
假設(shè)針對(duì)一URL定義了3個(gè)過濾器,分別是MyFilter1、MyFilter2、MyFilter3,在web.xml中也是按照這個(gè)順序設(shè)置的, 那么過濾器和Servlet的執(zhí)行順序如下:
之所以能達(dá)到這樣的效果,chain.doFilter(request, response);
起到了很大的作用。
值得注意的是,如果每個(gè)Filter沒有到達(dá)chain.doFilter
就返回了,那么后續(xù)的Filter或者Servlet也就不會(huì)執(zhí)行。
當(dāng)某個(gè)事件發(fā)生時(shí)候,監(jiān)聽器里的方法會(huì)被調(diào)用。例如Tomcat容器啟動(dòng)時(shí)、銷毀時(shí),session創(chuàng)建時(shí)、銷毀時(shí)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: