javaweb 过滤器 静态资源
时间: 2023-10-24 19:09:04 浏览: 192
javaweb中Filter(过滤器)的常见应用
JavaWeb 过滤器可以拦截所有请求,并对请求进行处理。但是,静态资源(如图片、CSS、JavaScript 文件等)一般不需要进行处理,因为它们本身就是静态的,不需要额外的操作。
为了避免过滤器对静态资源进行处理,可以在过滤器中设置一个路径过滤规则,只对需要处理的请求进行过滤,而对静态资源请求不进行处理。
例如,可以在过滤器中添加以下代码,对所有以“.css”、“.js”、“.png”等后缀结尾的请求不进行处理:
```
String[] staticExts = {".css", ".js", ".png", ".jpg", ".jpeg", ".gif", ".bmp", ".ico"};
String uri = req.getRequestURI();
for (String ext : staticExts) {
if (uri.endsWith(ext)) {
chain.doFilter(request, response);
return;
}
}
```
这样,在过滤器处理请求时,如果请求的 URI 以以上后缀结尾,就不会对其进行处理,直接交给下一个过滤器或 Servlet 进行处理。
阅读全文