跟小博老师一起学Servlet ——Servlet之过滤器实现和应用

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

回顾

上节小傅老师给大家介绍了Filter的基本概念和实现原理,Filter作为Web开发中要经经常使用。使用Filter在不修改项目整体架构也可以增加新功能,对项目扩展、维护带来了前所未的便利。

Filter

我们通过javax.servlet.Filter接口就可以实现过滤器,Filter提供了三个方法。doFilter()是过滤的执行方法,init()、destory()供容器在过滤器实例化和销毁时调用。

现过滤器

STEP1

编写过滤器代码

 跟小博老师一起学Servlet ——Servlet之过滤器实现和应用_第1张图片

STEP2

有二种方法可以配置过滤规则,只有符合过滤规则的请求才会通过过滤器。

1) 在web.xml中配置过滤规则

跟小博老师一起学Servlet ——Servlet之过滤器实现和应用_第2张图片 

2) 使用注解方式配置

跟小博老师一起学Servlet ——Servlet之过滤器实现和应用_第3张图片 

二种配置方式任选一种,不要重复配置。传统的xml方式优点在于修改配置后不要重新编译JAVA代码,注解方式将配置与原码结合在一起增强了可读性。

应用

过滤器有很多应用场景,比如权限控制、敏感词过滤、统一参数编码等等。为了解决请求参数中文乱码,传统的做法是在每个Servlet中设定编码相当繁琐,采用过滤器可以一次编码多处使用

请看小傅老师的代码

跟小博老师一起学Servlet ——Servlet之过滤器实现和应用_第4张图片 

总结

过滤器是Servlet中非常重要的组件,使用过滤器可大幅提高编码效率,项目后期扩展与维护变的也更为简单。控制器层框架中很多功能都是使用过滤器实现,大家一定要多多练习过滤器的使用,为日后学习框架夯实基础。

转载于:https://my.oschina.net/u/2971691/blog/847303

你可能感兴趣的:(java,python)