一文读懂-如何自定义过滤器原创
金蝶云社区-云社区用户n0uK7566
云社区用户n0uK7566
15人赞赏了该文章 2,424次浏览 未经作者许可,禁止转载编辑于2021年07月21日 15:23:14

如何自定义过滤器

苍穹平台已经在web.xml定义了一些过滤器,但是一些特殊业务需求,我们需要自定义一个过滤器,该怎么实现呢?

1. 开发实现javax.servlet.Filter的java过滤器类,实现过滤逻辑:

image.png

2. 编写过滤器配置xml文件,存放于工程中

image.png

3. mc或者启动类增加设置KFilterConfigFiles.config项,值对应xml文件的存放位置

 image.png

image.png

发起请求,成功进入自定义过滤器断点:

image.png

那么除了这种方式,还有其他方式配置过滤器吗?

大家知道,通常web开发我们自定义过滤器的配置都是定义在web.xml里面,那么苍穹是否也可以如此配置呢?

我们用winrar打开bos-resource包,编辑目录下web.xml文件,加上如下配置:

image.png

更新回jar包,重启服务:

image.png

可以看到断点成功进入,证明这样也是可以的,但是这种操作麻烦,侵入性强,不推荐使用

注意事项:

1.      苍穹自定义过滤器xml的配置格式和web.xml里面的不一样

image.png

2.      读取过滤器配置文件的类是kd.bos.service.web.filter.KFilterConfig(至于我是怎么定位到这个类的,请参考一文读懂-苍穹的请求映射是怎样实现的)

3.      苍穹配置过滤器有两种方式:第一种新建xml配置的方式较为灵活,第二种直接修改web.xml的方式较为繁琐且侵入性强,不推荐使用

 


赞 15