婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP過濾器Filter配置過濾類型全部匯總

JSP過濾器Filter配置過濾類型全部匯總

熱門標簽:百度地圖添加標注圖標樣式 好操作的電話機器人廠家 聊城智能電銷機器人外呼 地圖標注市場怎么樣 泰州泰興400電話 怎么申請 南昌市地圖標注app 如何用中國地圖標注數(shù)字點 南京新思維電話機器人 企業(yè)怎么在聯(lián)通申請400電話

一、配置方法

1 映射過濾應用程序中所有資源

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>/*/url-pattern> //訪問當前主機,當前應用程序根下的所有文件包括多級子目錄下的所有文件,注意這里*前有“/”
/filter-mapping>

2 過濾指定的類型文件資源

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>*.html/url-pattern> //訪問當前主機,當前應用程序根目錄下的所有html文件,注意:*.html前沒有“/”,否則錯誤
/filter-mapping>

其中*.html要過濾jsp那么就改*.html為*.jsp,但是注意沒有“/”斜杠。如果要同時過濾多種類型資源:

方法1 url-pattern 分開寫

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>*.html/url-pattern>
/filter-mapping>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>*.jsp/url-pattern>//訪問當前主機,當前應用程序根目錄以所有及子目錄下的所有jsp文件
/filter-mapping>

方法2 將url-pattern合并

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>*.html;*.jsp/url-pattern>
/filter-mapping>//*.html;*.jsp兩類型之間用分號;間隔

3 過濾指定的目錄下的所有文件

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>/folder_name/*/url-pattern>//訪問當前主機,當前應用程序根目錄下的folder_name子目錄(可是多級子目錄)下所有文件
/filter-mapping>

4 過濾指定的servlet

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  servlet-name>loggerservlet/servlet-name>
/filter-mapping>
servlet>
  servlet-name>loggerservlet/servlet-name>
  servlet-class>myfilter.LoggerServlet/servlet-class>
/servlet>

5 過濾指定文件(即單一文件)

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>/simplefilter.html/url-pattern>
/filter-mapping>

6 過濾指定目錄下的指定類型的所有文件

這種情況下在web.xml中無法一次性配置完成,需要結合filter的實現(xiàn)類

首先在web.xml中配置過濾指定目錄下的所有文件

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>/dir_name/*/url-pattern>
/filter-mapping>

然后在filter的實現(xiàn)類中的doFilter方法中獲取請求的uri或者url,判斷uri或者url中是否包含指定文件類型的字符串,決定是否過濾

//獲得用戶請求的uri
String uri = request.getRequestURI();
if(uri.contains(".jsp")||uri.contains(".html"))
System.out.println("開始過濾"+url);

7 過濾指定目錄下指定類型的單一文件

filter>
  filter-name>loggerfilter/filter-name>
  filter-class>myfilter.LoggerFilter/filter-class>
/filter>
filter-mapping>
  filter-name>loggerfilter/filter-name>
  url-pattern>/dir_name/index.jsp/url-pattern>
/filter-mapping>

以上都要注意是否有斜杠“/”

二、實例

不緩存文件

filter>
  filter-name>NoCache/filter-name>
  filter-class>com.sys.common.Filters.ResponseHeaderFilter
    /filter-class>
  init-param>
   param-name>Cache-Control/param-name>
   param-value>no-cache, must-revalidate/param-value>
  /init-param>
 /filter>

緩存文件一周

 filter>
  filter-name>CacheForWeek/filter-name>
  filter-class>com.sys.common.Filters.ResponseHeaderFilter
    /filter-class>
  init-param>
   param-name>Cache-Control/param-name>
   param-value>max-age=604800, public/param-value>
  /init-param>
 /filter>
filter-mapping>
  filter-name>CacheForWeek/filter-name>
  url-pattern>/images/*/url-pattern>
 /filter-mapping>
 filter-mapping>
  filter-name>CacheForWeek/filter-name>
  url-pattern>*.js/url-pattern>
 /filter-mapping>
 filter-mapping>
  filter-name>CacheForWeek/filter-name>
  url-pattern>*.css/url-pattern>
 /filter-mapping>

自定義的filter:

public class ResponseHeaderFilter implements Filter {
  FilterConfig fc;
  public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
    HttpServletResponse response = (HttpServletResponse) res;
    for (Enumeration e = fc.getInitParameterNames(); e.hasMoreElements();) {
      String headerName = (String) e.nextElement();
      response.addHeader(headerName, fc.getInitParameter(headerName));
    }
    chain.doFilter(req, response);
  }

  public void init(FilterConfig filterConfig) {
    this.fc = filterConfig;
  }

  public void destroy() {
    this.fc = null;
  }

}

以上這篇JSP過濾器Filter配置過濾類型全部匯總就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 通過過濾器(Filter)解決JSP的Post和Request中文亂碼問題
  • JSP 開發(fā)中過濾器filter設置編碼格式的實現(xiàn)方法
  • JSP使用Servlet過濾器進行身份驗證的方法
  • JSP過濾器防止Xss漏洞的實現(xiàn)方法(分享)
  • JSP使用過濾器防止SQL注入的簡單實現(xiàn)
  • jsp實現(xiàn)登錄驗證的過濾器
  • jsp中過濾器選擇過濾器的寫法詳解
  • 詳解JSP中使用過濾器進行內(nèi)容編碼的解決辦法
  • servlet+jsp實現(xiàn)過濾器 防止用戶未登錄訪問
  • JSP使用過濾器防止Xss漏洞
  • jsp filter 過濾器功能與簡單用法示例

標簽:白銀 山南 銅川 吉林 自貢 烏蘭察布 臨汾 開封

巨人網(wǎng)絡通訊聲明:本文標題《JSP過濾器Filter配置過濾類型全部匯總》,本文關鍵詞  JSP,過濾器,Filter,配置,過濾,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP過濾器Filter配置過濾類型全部匯總》相關的同類信息!
  • 本頁收集關于JSP過濾器Filter配置過濾類型全部匯總的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 民县| 福泉市| 琼结县| 西充县| 甘谷县| 页游| 榆树市| 永昌县| 徐汇区| 盐津县| 漯河市| 壶关县| 易门县| 神池县| 天长市| 民乐县| 新邵县| 都江堰市| 永胜县| 巴马| 文水县| 衢州市| 阜宁县| 洞头县| 兰州市| 玉屏| 莱西市| 抚远县| 广安市| 孝义市| 芜湖市| 东源县| 郓城县| 正定县| 临安市| 西安市| 海林市| 金堂县| 英德市| 渝中区| 西宁市|