第一步:新建插件目录,复制其他插件的目录结构,改名就可以了.nav 视图如下:
可以看到插件名称:cxf
第二步: 新建SampleCxf 插件实现 Plugin,PacketInterceptor,新建CxfServlet 继承HttpServlet.
第三步:在CxfServlet下重写doGet()、doPost()、init()、destroy(),实现自己的功能
第四步:新建plugin.xml,跟plugin开发一样,class name 是重点
<class>com.xxxxx.xxx.SampleCxf </class>
<name>cxf</name>
第五步:修改 web-custom.xml,内容如下:
编译 、启动、访问
http://localhost:9090/plugins/cxf/myservlet/
备注:
1.访问跳转到jsp登陆的解决方法:
有2种方法,由于大多数都是采用插件热拔插方式开发,建议采用第二种。
第一种:在openfire工程目录/src/web/WEB-INF目录下找到web.xml文件,在web.xml文件找到名为AuthCheck的权限过滤器,在excludes的param-value中添加:cxf/*,不需要经过openfire的权限验证了。
第二种:在servlet的init方法中加AuthCheckFilter.addExclude("cxf/myservlet"),注意不是 init(),而是init(ServletConfig servletCongfig)
最后:openfire的servlet uri时请用小写,不要用大写!
更多关于的servlet plugin开发的东西大家可以去借鉴的一下presence plugin.