[TOC]
## 问题01:Filter的概念及体系结构。
* [ ] Tomcat8.0
![](https://img.kancloud.cn/9e/80/9e80f80eef2b41ad753f635bf452c4dd_863x409.png)
* [ ] Tomcat9.0
![](https://img.kancloud.cn/77/ba/77bacf5230c7b03d01bf8a4abc6ca018_1133x720.png)
## 问题02:Filter的作用。
![](https://img.kancloud.cn/90/05/90057927a7b29e95fbde13af1a92c650_802x250.png)
* [ ] 对request进行处理(如统一全站编码)
* [ ] 对response进行处理(如禁止缓存等)
* [ ] 决定目标资源是否被访问(如权限控制等)
## 问题03:Filter的创建与配置。
### Filter的创建
![](https://img.kancloud.cn/32/cd/32cd6fee74be4c57e187f71ee1ab7c3c_617x368.png)
![](https://img.kancloud.cn/1f/f4/1ff4510f1f3bdae8cfa32553c6f7b219_1248x519.png)
### Filter的注解配置
```
@WebFilter(
urlPatterns = {
"/edit.jsp",
"/index.jsp",
"/download.jsp"
},
servletNames = {
"DeleteFileServlet",
"EditFileServlet",
"UploadServlet",
})
```
### Filter的XML配置
```
<filter>
<filter-name>FilterDemo1</filter-name>
<filter-class>包名.类名</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterDemo1</filter-name>
<url-pattern>过滤路径</url-pattern>
<dispatcher></dispatcher>
</filter-mapping>
```
## 问题04:多个Filter的装配问题(Filter Chain的组装顺序和规则)。
多个过滤器的执行顺序:
1. 配置文件从配置顺序执行;
2. 之后再执行注解的过滤器;
3. 注解过滤器按照类名首字母执行。
**配置文件(从上到下)→配置文件(类名ASCII码从小到大)**
## 问题05:Fliter处理request(设置所有资源编码)
```
@WebFilter("/*")
```
![](https://img.kancloud.cn/32/cd/32cde6664721117a94d180209e6c9198_650x152.png)
## 问题06:Fliter处理response(指定文件获取信息)
## 问题07:Fliter处理response(允许静态资源跨域访问)
```
@WebFilter("/static/*")
```
![](https://img.kancloud.cn/e5/5c/e55cec083c56b538fa608e4f1eca8e1a_855x199.png)
## 问题08:Fliter处理response(禁止jsp文件缓存)
![](https://img.kancloud.cn/dc/cb/dccb86b87bec1eece5546f0e6e56cd8e_589x248.png)
## 问题09:Fliter决定是否允许被访问(访问拦截)
```
需要利用到session来进行通信
```
![](https://img.kancloud.cn/1b/fb/1bfb6144a9c745dba6084417ca19188d_1079x350.png)
- 1课程概述
- 2环境配置
- 3MVC
- 3.1View
- 3.1.1前端基础
- 3.1.2JSP语法
- 3.1.3JSP内置对象1
- 3.1.4JSP内置对象2
- 3.2Bean
- 3.3Controller
- 3.3.1Servlet
- 3.3.2Filter
- 3.3.3Listener
- 3.4EL&JSTL
- 4三层架构
- 4.1数据库操作
- 4.1.1JDBC
- 4.1.2JDBC优化
- 4.2三层架构设计
- 4.3程序优化
- 4.3.1数据库连接优化
- 4.3.2数据库操作优化
- 4.4安全专题
- 4.4.1Ajax异步查询
- 4.4.2CAPTCHA
- 4.4.3MD5&SHA
- 4.4.4Cookie
- 4.4.5分页显示
- 4.4.6文件上传
- 4.4.7发送邮件
- 5企业级框架
- 5.0Maven
- 5.1MyBatis
- 5.2Spring
- 5.3SpringMVC
- 6实践项目
- 6.1实验1-用户登录(MVC)
- 6.2实验2-访问统计(Servlet高级)
- 6.3实验3-三层架构
- 6.4实验4-安全信息系统