麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:22:52
字體:
來源:轉載
供稿:網友

一、配置方法

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的實現類

首先在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的實現類中的doFilter方法中獲取請求的uri或者url,判斷uri或者url中是否包含指定文件類型的字符串,決定是否過濾

//獲得用戶請求的uriString 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配置過濾類型全部匯總就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产盼盼私拍福利视频99 | 精品久久久久久久久久中文字幕 | 国产剧情在线观看一区二区 | 欧美另类视频在线 | 四虎久草 | 毛片免费在线 | 亚洲一区在线观看视频 | 欧美成人精品欧美一级乱黄 | www.99re14.com| 一级黄色大片在线观看 | 免费视频99 | 午夜精品老牛av一区二区三区 | 国产精品久久久久久模特 | 一级大黄毛片免费观看 | 99视频有精品视频高清 | 午夜视频免费在线观看 | 免费在线观看毛片 | 成人福利免费在线观看 | 亚洲一区二区中文字幕在线观看 | 中文字幕免费看 | 久久国产精品无码网站 | fc2成人免费人成在线观看播放 | 色屁屁xxxxⅹ在线视频 | 亚洲男人的天堂在线视频 | 黄网站进入| 久久网页 | 91精品国产99久久久久久 | 国产99久久久国产精品下药 | 色播视频在线播放 | 免费淫视频| 国产精品成人av片免费看最爱 | 99精品视频免费看 | 色成人在线 | chinese18 xxxx videos | 精精国产xxxx视频在线野外 | 亚洲一区二区三区精品在线观看 | 羞羞视频免费网站男男 | 久久久成人动漫 | 黄色成人小视频 | 中文字幕电影免费播放 | 久草视频福利在线观看 |