Filter過濾器和Listener監(jiān)聽器詳解
在網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)過程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。成都創(chuàng)新互聯(lián)公司還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。Filter過濾器
Filter的簡(jiǎn)介
對(duì)資源的訪問進(jìn)行過濾,相當(dāng)于小區(qū)的保安,進(jìn)去要檢查,出去還要檢查。
Filter的使用
編寫一個(gè)類,繼承并實(shí)現(xiàn)javax.servlet.Filter。
package com.jyh.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class FilterDemo1 implements Filter { private FilterConfig filterConfig; public FilterDemo1(){ System.out.println("實(shí)例化了"); } //初始化 @Override public void init(FilterConfig filterConfig) throws ServletException { //通過這個(gè)獲取過濾器在web.xml里面的配置信息 this.filterConfig = filterConfig; System.out.println("過濾器初始化了"); } //執(zhí)行 @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { //獲取在web.xml中本過濾器配置的名為encoding的參數(shù) String encoding = filterConfig.getInitParameter("encoding"); if(encoding == null){ encoding = "UTF-8"; } //設(shè)置編碼格式 req.setCharacterEncoding(encoding); res.setContentType("text/html;charset=" + encoding); System.out.println("過濾前"); //放行 chain.doFilter(req, res); System.out.println("過濾后"); } //銷毀 @Override public void destroy() { System.out.println("過濾器銷毀了"); } }