上一篇文章介绍到怎么在自己的Java环境中搭建openfire插件开发的环境,同时介绍到怎样一步步简单的开发openfire插件。一步步很详细的介绍到简单插件开发,带Servlet的插件的开发、带JSP页面插件的开发,以及怎么样将开发好的插件打包、部署到openfire服务器。
如果你没有看上一篇文章的话,请你还是看看。http://www.cnblogs.com/hoojo/archive/2013/03/07/2947502.html
因为这篇文章是基于上篇文章讲叙的基础上完成插件开发。而且开发的环境及打包的ant脚本都是共用的。如果你在看这篇文章有什么不好理解的地方,还请麻烦你自己再去翻阅之前的文章。这样对你可能有更多的帮助!
同样在这篇文章开始之前,如果你不知道怎么使用openfire,安装openfire服务器,建议你看以下文章:
http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html
http://www.cnblogs.com/hoojo/archive/2012/05/13/2498151.html
开发环境:
System:Windows
WebBrowser:IE6+、Firefox3+
JavaEE Server:tomcat5.0.2.8、tomcat6
IDE:eclipse、MyEclipse 6.5
开发依赖库:
Jdk1.6、jasper-compiler.jar、jasper-runtime.jar、openfire.jar、servlet.jar
Email:hoojo_@126.com
如果你觉得这篇文章不错或对你有帮助的话,请你支持我。如果觉这里的文章不错的话,请你关注我的博客。
推荐文章:
【Openfire 的安装和配置】 手把手教你配置Openfire服务器
【跟我一步一步开发自己的Openfire插件】教你一步步开发自己的插件
【JavaScript/jQuery、HTML、CSS 构建 Web IM 远程及时聊天通信程序】 优美清新的界面,可以多窗口聊天
【Smack 结合 Openfire服务器,建立IM通信,发送聊天消息】 可以基于他开发Java的聊天应用
【Apache MiNa 实现多人聊天室】 多人聊天室,如果结合Smack和Openfire,就可以实现外网聊天应用
【JavaScript/jQuery WebIM 及时聊天通信工具 本地客户端】 本地应用,不需要Openfire服务器
【Openfire与XMPP协议】理论知识,便于连接Openfire
【Jwchat 的安装和配置、Service unavailable、Authorization failed问题汇总】 拓展你的应用,可以了解开源的jwchat,全JS的应用
【移动应用(手机应用)开发IM聊天程序解决方案】 移动手机和Openfire的整合方案
【Spring整合DWR comet 实现无刷新 多人聊天室】 DWR实现聊天应用,简单快速
我把自己写好的插件打包,下载后部署到openfire服务器,就可以用了。如果出现什么问题的话,你可以看看这篇文章,都有解决方法。
插件下载:https://files.cnblogs.com/hoojo/%E8%81%8A%E5%A4%A9%E6%8F%92%E4%BB%B6.rar
基本原理(流程)
一、准备工作
1、 这里的开发环境就是上一篇文章的开发环境,如果你还没有配置好环境或不知道怎么样配置。那么烦请你按照上一篇博文的讲述方法配置好开发环境,然后跟着我一步步开发聊天记录插件。
2、 基于之前讲的,现在在环境中创建好插件的目录结构。新建一个plugins/chatlogs目录,新插件的目录文件如下,里面的部分文件是通用的,只有在src/plugins/chatlogs目录中文件才是这次新增的文件。这次的插件目录结构会按照下面的结构来。
先熟悉下上面的目录,就简单大致介绍下上面的目录。在src/plugins/chatlogs目录中的包是主要开发的插件核心代码。
其中ChatLogsPlugin.java是聊天记录拦截聊天记录,并保存到数据库中的重要代码。
ChatLogsServlet.java是对外公开访问的Servlet,它会返回一些xml的内容,主要是聊天记录的内容和聊天用户的等XML格式的数据。
DbChatLogsManager.java这个也是很主要的,它主要完成对聊天记录数据库表的CRUD操作。
database目录中存放的是sql脚本,这里我提供的是oracle和hsql两个数据库的脚步。至于使用说明脚步要看你的openfire服务器使用的数据库才行。
web目录上次介绍到了,主要是jsp页面。
同时在src/plugins/chatlogs目录中还存在一些gif和html,这些都是插件的介绍和安装内容、图标等。
plugin.xml是插件核心代码的配置和jsp页面的配置文件。
其他内容之前介绍过了,这里就不再一一赘述。
3、 执行你的聊天记录数据库脚本,聊天记录表内容如下
hsql db
-- Create table --openfire聊天记录createtable OFCHATLOGS(MESSAGEID int primary key, --消息idSESSIONJID VARCHAR(30), --用户session jid名称SENDER VARCHAR(30), --消息发送者RECEIVER VARCHAR(30), --接受者CREATEDATE VARCHAR(30), --消息发送、创建时间LENGTH int, --消息长度、大小CONTENT VARCHAR(2000), --消息内容DETAIL VARCHAR(4000), --消息源报文STATE int --删除状态,1表示删除);