过滤器
1、Filter 过滤器:过滤的是 url 地址
2、会根据配置的地址模型,拦截这些地址的请求
被拦截的请求,会直接先跳入 Filter,然后由 Filter 决定要不要继续交给后面的 Filter、servlet
3、案例:
(1)拦截 所有没有登录的用户,不可以直接进入后台管理菜单
如果直接通过后台管理菜单的 url 进入页面,则自动的跳入登录页面
(2)setCharacterEncoding 设置字符编码集 request、response
4、创建过滤器
创建过滤器
1、创建过滤器
2、生成一个过滤器的实现类
3、web.xml中的配置
url写上
*/:所有的请求地址都被拦截(包括html、jsp\)
.do:后缀为.do的请求,才会拦截
/user/:前缀配置
4、过滤器的生命周期
随着服务器的启动就已经初始化了(构造函数、init方法)
每次被拦截后,都会执行 doFilter
项目卸载、重新编译、销毁前执行 destroy 方法
5、过滤器的放行
chain.doFilter(request,response);
如果没有这句代码,则不会继续执行后续的内容了
后续可以是:过滤器、servlet、jsp
这句就起到了拦截的作用
场景:黑白名单、登录状态过滤、权限过滤
例如没有继续执行下去的权限,则可以使用当前的request、response 进行页面跳转
web.xml servlet url 配置