大家好,我是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地址加到裝飾排除項中。