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

首頁 > 編程 > JSP > 正文

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

2019-11-08 02:47:01
字體:
來源:轉載
供稿:網友

jsp過濾器Filter配置過濾類型匯總

一、配置方法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;    }

}

原帖地址:http://blog.sina.com.cn/s/blog_7ffb8dd501013hqc.html


上一篇:JSP基本語法

下一篇:request/jsp

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 翼城县| 扶沟县| 巨鹿县| 梁平县| 荃湾区| 平原县| 德化县| 防城港市| 寿阳县| 婺源县| 万载县| 岢岚县| 商南县| 东莞市| 枞阳县| 台南市| 方正县| 铜陵市| 宁陕县| 健康| 东平县| 秦安县| 兴隆县| 蚌埠市| 句容市| 新蔡县| 葫芦岛市| 修武县| 江门市| 延长县| 兴安县| 扶绥县| 黑龙江省| 南投县| 锦屏县| 尚志市| 霞浦县| 浙江省| 高碑店市| 台东县| 梧州市|