项目中需要 openfire 对外提供一个web接口,接受客户端发送过来的http 请求,按照参数处理后返回相应的response。
于是考虑使用servlet插件。
实现方法:
1.在src/plugins目录下建立如下结构的目录。
2.在java build path 中source 页添加 myservlet/src/java 目录。
3.在org.jivesoftware.openfire.plugin 包下新建class MyservletPlugin 实现Plugin接口;新建org.jivesoftware.openfire.plugin.myservlet包,在包下新建Myservlet类继承HttpServlet。
4.在Myservlet下重写doGet()、doPost()、init()、destroy(),并在相应部分实现自己的功能。
init() 中添加 AuthCheckFilter.addExclude("myservlet/myserv
") 这里的格式为[插件目录名]/[子url] 而不是"[servlet所在目录名]/[子url]"
destroy()中添加 AuthCheckFilter.removeExclude("myservlet/myserv
")
5. 在myservlet/src 下新建plugin.xml,内容如下:
6.在WEB-INFO目录下新建web-custom.xml,内容如下:
7. 打开命令行cmd,,进入源码下build目录,运行ant plugins 编译插件。会在target/plugin目录下生成一个myservlet.jar
8.启动openfire,加载插件。
9.在浏览器中输入http://***.***.***:9090/plugin/myservlet/myserv?par1=**&par2=*** 进行测试。
分享到:
相关推荐
以下是编写Openfire Servlet插件的步骤: 1. **创建项目结构**:首先,创建一个Maven或Gradle项目,确保包含上述提到的文件和目录结构。 2. **编写plugin.xml**:在`plugin.xml`中,声明Servlet服务。例如: ```...
通过以上步骤,你就成功创建了一个基础的Openfire插件,可以在此基础上根据需求扩展功能,比如添加数据库交互、Servlet服务或者Web管理界面。 在实际开发中,可能需要对插件进行数据库操作,例如创建新的数据库表、...
本示例将带你走进Openfire插件开发的世界,通过一个简单的Servlet插件来介绍开发流程。 首先,我们需要理解Openfire插件的基本结构。一个Openfire插件通常包含以下几个部分: 1. **Plugin.java**:这是插件的核心...
在这个“Openfire插件开发 访问jsp servlet”项目中,我们将探讨如何在Openfire环境中开发一个插件,同时利用JavaServer Pages(JSP)和Servlet技术来处理HTTP请求。 首先,让我们理解Openfire插件开发的基本流程:...
openfire插件格式
同时,OpenFire提供了基于Servlet的API,可以方便地处理HTTP请求,这对于构建Web端的管理界面或与移动端应用交互非常有用。 移动互联聊天服务器的搭建,涉及到客户端SDK的选择和集成。OpenFire支持多种客户端库,如...
在Openfire下实现WebServer是一项常见的任务,Openfire作为一个开源的即时通讯服务器,它提供了丰富的API和插件机制,使得我们可以方便地在其基础上构建各种功能,包括集成WebServer。在这个过程中,我们将探讨如何...
Openfire采用Java语言编写,利用Servlet容器运行,如Tomcat。其核心组件包括服务器端、数据库存储、XMPP协议处理和Web管理界面。其中,服务器端负责接收和发送XMPP数据包,数据库存储用户信息、群组和聊天记录,协议...
例如,使用Servlet开发推送插件,虽然技术成熟,完全自定义,但可能没有利用到openfire平台或XMPP协议的特性,即XMPP的协议优点如即时性、可扩展性等。这种方案的开发难度适中,实现推送需要对openfire有深入的了解...
- **用途**:配置Servlet及其过滤器,同时允许用户自定义Servlet,通常放置于插件目录下。 ##### 数据库配置 - **ofproperty表** - **字段**:`name`(配置项名)和`propvalue`(配置项值)。 - **用途**:存储...
7. **插件支持**:Openfire支持插件机制,每个插件通常有自己的`jar`文件,如`admin_console.jar`是管理控制台插件,`auditservice.jar`提供审计服务等。 安装和运行Openfire3.10.2时,需要确保所有必需的`jar`文件...
总的来说,Openfire和Spark的视频通话功能的启用,是通过将特定的插件文件部署到服务器和客户端的插件目录下,利用XMPP协议和相关技术实现的。这展示了开源软件如何通过模块化和标准化的方式,为企业提供定制化的...
- 过滤器机制,类似于Servlet过滤器,便于功能扩展。 - 支持多线程模型,包括单线程、线程池以及更复杂的线程分配策略(SEDA),满足不同应用场景的需求。 - 集成了SSL/TLS/StartTLS安全协议,保障数据传输的安全性...
Openfire同样支持插件扩展,对于功能的定制化推荐使用插件方式,避免对源代码的直接改动。 - **Smack**:这是一个Java实现的XMPP协议库,提供了丰富的API,便于开发者构建XMPP应用。尽管在某些特定需求下,可能需要...
《Openfire源码解析与开发环境构建》 Openfire是一款基于Java开发的开源即时通讯(IM)服务器,...值得注意的是,理解和修改源码前,建议先熟悉XMPP协议和Java Servlet技术,这将有助于更好地驾驭Openfire的源码世界。
此外,开发者还可以利用Openfire的API和插件机制,扩展或修改离线文件的行为,比如添加文件预览功能、设置文件过期时间等。 总之,Openfire的离线文件系统是一个复杂但功能强大的机制,它结合了消息存储、文件传输...
5. **构建和部署**:完成上述步骤后,你可以在Eclipse中编译和运行Openfire源代码,通过Eclipse的内置构建工具(如Maven或Gradle)进行自动化构建,并可以使用内置的服务器插件或外部部署工具进行部署。 6. **调试...
Openfire服务器还提供了丰富的API和插件系统,允许开发者扩展其功能,如集成其他系统、实现自定义验证机制等。 3. **集成过程**: 要将Sparkweb与Openfire集成,你需要确保Openfire已经正确安装并配置。在Openfire...
- **过滤器机制**:类似于Servlet过滤器,可以对网络事件进行预处理或后处理。 - **线程模型**:支持单线程、线程池及基于阶段驱动的多线程池(SEDA),可根据实际应用场景选择最适合的模式。 - **安全支持**:内置...