回顾
上节小傅老师给大家介绍了Filter的基本概念和实现原理,Filter作为Web开发中要经经常使用。使用Filter在不修改项目整体架构也可以增加新功能,对项目扩展、维护带来了前所未的便利。
Filter
我们通过javax.servlet.Filter接口就可以实现过滤器,Filter提供了三个方法。doFilter()是过滤的执行方法,init()、destory()供容器在过滤器实例化和销毁时调用。
实现过滤器
STEP1
编写过滤器代码
STEP2
有二种方法可以配置过滤规则,只有符合过滤规则的请求才会通过过滤器。
1)在web.xml中配置过滤规则
2)使用注解方式配置
二种配置方式任选一种,不要重复配置。传统的xml方式优点在于修改配置后不要重新编译JAVA代码,注解方式将配置与原码结合在一起增强了可读性。
应用
过滤器有很多应用场景,比如权限控制、敏感词过滤、统一参数编码等等。为了解决请求参数中文乱码,传统的做法是在每个Servlet中设定编码相当繁琐,采用过滤器可以一次编码多处使用
请看小傅老师的代码
总结
过滤器是Servlet中非常重要的组件,使用过滤器可大幅提高编码效率,项目后期扩展与维护变的也更为简单。控制器层框架中很多功能都是使用过滤器实现,大家一定要多多练习过滤器的使用,为日后学习框架夯实基础。