Servlet高级

Filter过滤器
什么是Filter
Filter 被称作过滤器,其基本功能就是对 Servlet 容器调用 Serviet 的过程进行拦截,从而在Servlet 进行响应处理前后实现一些特殊功能。这就好比现实中的污水净化设备,它可以看作一个过滤器,专门用于过滤污水杂质。Filter 在 Web 应用中的拦截过程如图所示。
Servlet高级
实现Filter程序
1.在eclipse中,创建一个web项目,然后在该项目的src目录下创建一个包,最后在该包下创建一个servlet类,该类用于访问时在浏览器中输出。
2.在web.xml文件中对servlet进行配置
Servlet高级
部署项目到服务器,启动tomcat服务器,在浏览器的地址栏输入地址,浏览器就可以成功访问到程序。
3.在同一个包下创建一个Filter类,该类用于拦截程序。
过滤器程序与servlet程序类似,同样需要在web.xml文件中进行配置,从而设置他所能拦截的资源。
Filter映射
以上的配置信息就是Filter映射,Filter的映射可以分为两种:
1.使用通配符“”拦截用户的所有请求:
Filter 的元素用于配置过滤器拦截的资源信息,如果想让过滤器拦截所有的请求访问,那么需要使用通配符“
”来实现

Filterl
cn.itcast.chapter08.filter.MyFilter


Filterl
/*

2.拦截不同方式的访问请求:
在 web xml 文件中,一个元素用于配置一个 Filter 所负责拦截的资源。元素中有一个特殊的子元素,该元素用于指定过滤器所拦截的资
源被 Servlet 容器调用的方式,元素的值共有 4 个:
1.REQUEST
2.INCLUDE
3.FORWARD
4.ERROR
Filter链
在一个 Web 应用程序中可以注册多个 Filter 程序,每个 Filler 程序都可以针对某一个URL进行拦截。如果多个 Filter 程序都对同一个 URL 进行拦截,那么这些 Flter就会组成一个 Fite链(也叫过滤器链)。 Flter 链用 FilterChain 对象来表示,FiterChain 对象中有一个 doFilter()方法,该方法的作用就是让 Filtfer链上的当前过滤器放行,使请求进入下一个 Filter。接下来通过一个图例来描述 Filter 链的拦截过程,如图所示:
Servlet高级
Filterconfig接口
为了获取 Filter 程序在 web.xml 文件中的配置信息,Servlet API 提供了一个 FilterConfig 接口,该接口封装了 Fitfer 程序在 web.xml 中的所有注册信息,并且提供了一系列获取这些配置信息的方法。
使用Filter实现用户自动登录
1.编写user类
2.实现登陆页面和首页
3.创建servlet类
4.创建过滤器
5.配置映射信息
6.运行项目,查看结果

上一篇:JavaWeb02--servlet详解


下一篇:2021-07-21 zabbix-deploy 草稿