国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Filter過濾器和Listener監(jiān)聽器詳解

2019-10-23 18:31:06
字體:
供稿:網(wǎng)友

 Filter過濾器和Listener監(jiān)聽器詳解

Filter過濾器

Filter的簡介

對資源的訪問進(jìn)行過濾,相當(dāng)于小區(qū)的保安,進(jìn)去要檢查,出去還要檢查。

Filter的使用

編寫一個類,繼承并實現(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("實例化了");    }    //初始化    @Override    public void init(FilterConfig filterConfig) throws ServletException {      //通過這個獲取過濾器在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("過濾器銷毀了");    }  }

在web.xml中配置Filter

<filter>  <filter-name>FilterDemo1</filter-name>  <filter-class>com.jyh.filter.FilterDemo1</filter-class>  <!-- 配置參數(shù) -->  <init-param>    <param-name>encoding</param-name>    <param-value>UTF-8</param-value>  </init-param> </filter> <filter-mapping>  <filter-name>FilterDemo1</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>

過濾器是用來對訪問進(jìn)去過濾的,所以需要在請求前做什么和請求之后做什么都可以用過濾器來做,例如編碼的設(shè)置,自動登錄等。串聯(lián)過濾器什么的聽著就知道是什么情況了。

Listener監(jiān)聽器

編寫一個類繼承實現(xiàn)以下監(jiān)聽器接口。

監(jiān)聽ServletContext、HttpSession、ServletRequest對象的創(chuàng)建和銷毀的監(jiān)聽器

ServletContextListener: HttpSessionListener: SerlvetRequestListener:

監(jiān)聽ServletContext、HttpSession、ServletRequest屬性(attributes)變化的監(jiān)聽器

ServletContextAttributeListener HttpSessionAttributeListener SerlvetRequestAttributeListener

1.感知型監(jiān)聽器:不需要注冊。

HttpSessionBindingListener:實現(xiàn)該接口的類的實例,能夠感知自己何時被放到了HttpSession域范圍中,和何時從HttpSession域范圍中刪除。

HttpSessionActivationListener:實現(xiàn)該接口的類的實例,能夠感知自己何時隨著HttpSession鈍化和激活。

在web.xml配置一下

<listener>   <!-- 指向自己縮寫的監(jiān)聽器類 -->  <listener-class>com.jyh.listener.MyContextListener</listener-class> </listener>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 礼泉县| 南充市| 武强县| 武宣县| 海盐县| 衡阳市| 灯塔市| 晋州市| 常宁市| 车险| 桐梓县| 安图县| 鹤山市| 西吉县| 勐海县| 五指山市| 扶绥县| 河曲县| 肃北| 武清区| 永川市| 即墨市| 秀山| 登封市| 天柱县| 盐山县| 嘉定区| 且末县| 东宁县| 郓城县| 隆安县| 怀化市| 阿拉尔市| 湟中县| 义乌市| 射洪县| 治多县| 新巴尔虎左旗| 应用必备| 绥化市| 左云县|