大家好,我是LD,今天介绍的是:如何解决在openfire里面,自定义servlet无法访问的问题.这里我使用的openfire版本是3.9.3。

    由于openfire里面有一个AuthCheckFilter,这个过滤器用于防止用户在没登录的情况下访问页面。因此我们的servlet在不登录openfire系统的情况是无法访问的,这里我们需要使用AuthCheckFilter.addExclude中将我们的sevlet访问路径加入到拦截排除中去。(注意:在web-custom.xml中,配置servlet访问路径只能用小写,这是openfire的BUG,不然还是会导致你的servlet不能访问)

    上一步完成之后,访问servlet的仍会爆空指针错误。这里是由于openfire对页面进行了一个装饰,在没登录的情况下,装饰页面里面的代码就会报错,所以还需要在

 plugins\admin\webapp\WEB-INF\decorators.xml文件中将你的servlet地址加到装饰排除项中。