JSP过滤器Filter配置过滤类型全部汇总
一、配置方法
1 映射过滤应用程序中所有资源
1
2
3
4
5
6
7
8
|
< filter >
< filter-name >loggerfilter< CODE> |
2 过滤指定的类型文件资源
1
2
3
4
5
6
7
8
|
< filter >
< filter-name >loggerfilter< CODE> |
其中*.html要过滤jsp那么就改*.html为*.jsp,但是注意没有“/”斜杠。如果要同时过滤多种类型资源:
方法1 url-pattern 分开写
1
2
3
4
5
6
7
8
9
10
11
12
|
< filter >
< filter-name >loggerfilter< CODE> |
方法2 将url-pattern合并
1
2
3
4
5
6
7
8
|
< filter >
< filter-name >loggerfilter< CODE> |
3 过滤指定的目录下的所有文件
1
2
3
4
5
6
7
8
|
< filter >
< filter-name >loggerfilter< CODE> |
4 过滤指定的servlet
1
2
3
4
5
6
7
8
9
10
11
12
|
< filter >
< filter-name >loggerfilter< CODE> |
5 过滤指定文件(即单一文件)
1
2
3
4
5
6
7
8
|
< filter >
< filter-name >loggerfilter< CODE> |
6 过滤指定目录下的指定类型的所有文件
这种情况下在web.xml中无法一次性配置完成,需要结合filter的实现类
首先在web.xml中配置过滤指定目录下的所有文件
1
2
3
4
5
6
7
8
|
< filter >
< filter-name >loggerfilter< CODE> |
然后在filter的实现类中的doFilter方法中获取请求的uri或者url,判断uri或者url中是否包含指定文件类型的字符串,决定是否过滤
1
2
3
4
|
//获得用户请求的uri
String uri = request.getRequestURI();
if(uri.contains(".jsp")||uri.contains(".html"))
System.out.println("开始过滤"+url);
|
7 过滤指定目录下指定类型的单一文件
1
2
3
4
5
6
7
8
|
< filter >
< filter-name >loggerfilter< CODE> |
以上都要注意是否有斜杠“/”
二、实例
不缓存文件
1
2
3
4
5
6
7
8
9
|
< filter >
< filter-name >NoCache< CODE> |
缓存文件一周
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
< filter >
< filter-name >CacheForWeek< CODE> |
自定义的filter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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复习资料汇总
[JSP]2017年1月24日asp教程编程辅导汇总
[ASP]2016年12月2日JSP快速入门教程汇总
[JSP]2016年12月2日jsp基本用法和命令汇总
[JSP]2016年10月3日ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日