最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年02月23日 09:29:53   投稿:jingxian  
下面小編就為大家?guī)硪黄狫SP過濾器Filter配置過濾類型全部匯總。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

一、配置方法

1 映射過濾應(yīng)用程序中所有資源

<filter>
  <filter-name>loggerfilter</filter-name>
  <filter-class>myfilter.LoggerFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>loggerfilter</filter-name>
  <url-pattern>/*</url-pattern> //訪問當(dāng)前主機(jī),當(dāng)前應(yīng)用程序根下的所有文件包括多級(jí)子目錄下的所有文件,注意這里*前有“/”
</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> //訪問當(dāng)前主機(jī),當(dāng)前應(yīng)用程序根目錄下的所有html文件,注意:*.html前沒有“/”,否則錯(cuò)誤
</filter-mapping>

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

方法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>//訪問當(dāng)前主機(jī),當(dāng)前應(yīng)用程序根目錄以所有及子目錄下的所有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兩類型之間用分號(hào);間隔

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>//訪問當(dāng)前主機(jī),當(dāng)前應(yīng)用程序根目錄下的folder_name子目錄(可是多級(jí)子目錄)下所有文件
</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中無法一次性配置完成,需要結(jié)合filter的實(shí)現(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的實(shí)現(xiàn)類中的doFilter方法中獲取請(qǐng)求的uri或者url,判斷uri或者url中是否包含指定文件類型的字符串,決定是否過濾

//獲得用戶請(qǐng)求的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>

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

二、實(shí)例

不緩存文件

<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配置過濾類型全部匯總就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

  • Java開源項(xiàng)目Hibernate

    Java開源項(xiàng)目Hibernate

    Java開源項(xiàng)目Hibernate...
    2006-10-10
  • JSP 開發(fā)中過濾器filter設(shè)置編碼格式的實(shí)現(xiàn)方法

    JSP 開發(fā)中過濾器filter設(shè)置編碼格式的實(shí)現(xiàn)方法

    這篇文章主要介紹了JSP 開發(fā)中過濾器filter設(shè)置編碼格式的實(shí)現(xiàn)方法的相關(guān)資料,我們知道為了避免提交數(shù)據(jù)的亂碼問題,需要在每次使用請(qǐng)求之前設(shè)置編碼格式,這里提供一次性修改所有的請(qǐng)求編碼問題,需要的朋友可以參考下
    2017-08-08
  • jsp實(shí)現(xiàn)點(diǎn)擊help打開chm文件

    jsp實(shí)現(xiàn)點(diǎn)擊help打開chm文件

    有個(gè)javaweb項(xiàng)目,需要在portal上面點(diǎn)擊help即可打開“幫助.chm”文件,下面與大家分享下jsp如何打開chm文件
    2014-09-09
  • 用緩沖技術(shù)提高JSP應(yīng)用的性能和穩(wěn)定性

    用緩沖技術(shù)提高JSP應(yīng)用的性能和穩(wěn)定性

    用緩沖技術(shù)提高JSP應(yīng)用的性能和穩(wěn)定性...
    2006-10-10
  • JSP通用高大上分頁代碼(超管用)

    JSP通用高大上分頁代碼(超管用)

    這篇文章主要介紹了JSP通用高大上分頁代碼(超管用)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • 經(jīng)常聽朋友說什么J2EE,終于知道點(diǎn)什么是J2EE了,汗一個(gè)

    經(jīng)常聽朋友說什么J2EE,終于知道點(diǎn)什么是J2EE了,汗一個(gè)

    經(jīng)常聽朋友說什么J2EE,終于知道點(diǎn)什么是J2EE了,汗一個(gè)...
    2007-12-12
  • JavaScript實(shí)現(xiàn)鏈表插入排序和鏈表歸并排序

    JavaScript實(shí)現(xiàn)鏈表插入排序和鏈表歸并排序

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)鏈表插入排序和鏈表歸并排序,較為詳細(xì)的分析了插入排序和歸并排序,對(duì)于學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)具有一定參考借鑒價(jià)值,需要的朋友可以參考下。
    2016-10-10
  • 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法

    使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法

    在使用IDEA開發(fā)maven+springMVC項(xiàng)目時(shí)遇到不加載EL表達(dá)式的問題,遇到此問題的朋友不在少數(shù),今天小編給大家?guī)砹耸褂肐DEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法,一起看看吧
    2018-08-08
  • 最新評(píng)論

    文安县| 巫溪县| 石河子市| 普安县| 库车县| 临邑县| 威远县| 延安市| 高要市| 洱源县| 朝阳区| 临城县| 方山县| 英超| 建昌县| 余庆县| 德令哈市| 云阳县| 丰都县| 尉氏县| 乳源| 赣州市| 鄯善县| 临泽县| 华容县| 济南市| 平遥县| 华安县| 大邑县| 临桂县| 东莞市| 安西县| 扬中市| 扎鲁特旗| 米易县| 南阳市| 乐至县| 大安市| 安平县| 黄山市| 西乌珠穆沁旗|