一文读懂-如何自定义过滤器原创
15人赞赏了该文章
2,424次浏览
编辑于2021年07月21日 15:23:14
如何自定义过滤器
苍穹平台已经在web.xml定义了一些过滤器,但是一些特殊业务需求,我们需要自定义一个过滤器,该怎么实现呢?
1. 开发实现javax.servlet.Filter的java过滤器类,实现过滤逻辑:
2. 编写过滤器配置xml文件,存放于工程中
3. mc或者启动类增加设置KFilterConfigFiles.config项,值对应xml文件的存放位置
发起请求,成功进入自定义过滤器断点:
那么除了这种方式,还有其他方式配置过滤器吗?
大家知道,通常web开发我们自定义过滤器的配置都是定义在web.xml里面,那么苍穹是否也可以如此配置呢?
我们用winrar打开bos-resource包,编辑目录下web.xml文件,加上如下配置:
更新回jar包,重启服务:
可以看到断点成功进入,证明这样也是可以的,但是这种操作麻烦,侵入性强,不推荐使用
注意事项:
1. 苍穹自定义过滤器xml的配置格式和web.xml里面的不一样
2. 读取过滤器配置文件的类是kd.bos.service.web.filter.KFilterConfig(至于我是怎么定位到这个类的,请参考一文读懂-苍穹的请求映射是怎样实现的)
3. 苍穹配置过滤器有两种方式:第一种新建xml配置的方式较为灵活,第二种直接修改web.xml的方式较为繁琐且侵入性强,不推荐使用
推荐阅读