一、过滤器的功能:过滤器可以做登录检查,权限更改,分级权限校验,设置统一的编码格式,记录访问日志
1、登录检查:在各种网站在登录的时候,会有检查此用户是否存在(数据库当中是否存有数据),用户密码是否正确,数据库的操作是否正确。如果按照之前的代码来写的话。会先写一个JSP代码,然后是serclet代码,service代码,service代码当中有一个实现的接口。serviceImpl(实现类接口),之后是userdao ,userdaoimpl访问数据库。之前的方法检查登录信息是否正确很麻烦。代码量也很多,做起来也麻烦。现在用过滤器Filterchain 来做的话。只需要一个代码就可以完成。
2、权限更改:一些网站的普通用户和星级用户的区别,一些功能只能星级用户才可以用,就会过滤掉普通用户。
3、分级权限校验:校验一些权限,分级。
4、设置统一的编码格式:在Java web代码当中,我们在很多jsp文件当中都会设置编码格式。要设置正确的变啊、吗格式,数据库当中的数据才可以拿来用,但是文件多了,每一个文件当中我们都设置编码格式的话。晖很麻烦,而且还有可能把设置编码的那行代码忘掉。设置一个过滤器,在每一个URL经过的时候就将编码格式改为想要的格式,只需要写一次,减少了代码量,有更新的话也比较简单,直接修改过滤器就好了。
5、记录访问日志:在访问时记录一个当时的时间。访问结束之后,记录一个访问结束的时间。
二、过滤器的执行时间点:过滤器的执行在servlet之前,访问资源之前
三、过滤器的优先权:直接注解法使用过滤器的话,不能强调出优先权。如果想要强调优先权,可以在web.xml文件当中写,谁先写在前面,谁的优先权就比较高。
四、过滤器的生命周期:1、实例化——web.xml Web容器在部署Web应用程序时对所有的过滤器进行实例化。Web容器回调他的无参构造方法。 2、初始化——实例化完成之后,马上进行初始化工作。Web容器回调init()方法。 3、过滤——请求路径匹配过滤器的URL映射时。Web容器回调它的init()方法,主要的工作方法。4、销毁:Web容器在卸载Web应用程序前,Web容器回调destroy()方法。