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

首頁 > 系統 > Android > 正文

Filter過濾器和Listener監聽器詳解

2019-12-12 03:03:42
字體:
來源:轉載
供稿:網友

 Filter過濾器和Listener監聽器詳解

Filter過濾器

Filter的簡介

對資源的訪問進行過濾,相當于小區的保安,進去要檢查,出去還要檢查。

Filter的使用

編寫一個類,繼承并實現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("過濾器初始化了");    }    //執行    @Override    public void doFilter(ServletRequest req, ServletResponse res,        FilterChain chain) throws IOException, ServletException {      //獲取在web.xml中本過濾器配置的名為encoding的參數      String encoding = filterConfig.getInitParameter("encoding");      if(encoding == null){        encoding = "UTF-8";      }      //設置編碼格式      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>  <!-- 配置參數 -->  <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>

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

Listener監聽器

編寫一個類繼承實現以下監聽器接口。

監聽ServletContext、HttpSession、ServletRequest對象的創建和銷毀的監聽器

ServletContextListener: HttpSessionListener: SerlvetRequestListener:

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

ServletContextAttributeListener HttpSessionAttributeListener SerlvetRequestAttributeListener

1.感知型監聽器:不需要注冊。

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

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

在web.xml配置一下

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇江市| 平定县| 毕节市| 景德镇市| 汉中市| 普兰县| 绥阳县| 贵溪市| 冷水江市| 肇庆市| 靖江市| 原阳县| 安化县| 沁阳市| 银川市| 黔西县| 板桥市| 中江县| 禹城市| 若羌县| 德保县| 尼木县| 梅河口市| 定西市| 逊克县| 曲松县| 会东县| 乌什县| 泸西县| 瓮安县| 宁都县| 顺义区| 东城区| 蕉岭县| 彩票| 准格尔旗| 常德市| 绍兴县| 理塘县| 榕江县| 茶陵县|