openfire_插件开发-jsp/servlet
2014-03-05 18:48
399 查看
1.openfire编译运行正常,helloworld工作。参见:openfire_插件开发-helloworld
2.openfire_src/src/plugins/xhcplugin/src/增加web文件夹,添加xhcplugin-birdnew.jsp文件:
注意:
hello world jsp!! <a href="/plugins/xhcplugin/servlet">HelloWorldServlet</a>
/plugins/xhcplugin/servlet表示家目录下,xhcplugin插件的servlet。这里如果配置错误,servlet无法工作
和下面的web-custom.xml里面的内容应一致
3.修改plugin.xml
4.在HelloWorld.java相同目录下,增加HelloWorldServlet.java文件
5.在openfire_src/src/plugins/xhcplugin/src/web下,增加WEB-INF文件夹,创建文件web-custom.xml。
6.目录结构如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/23/b22d51570e96b203f69c42e72b9ace4b)
7.运行,效果如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/23/f0faf35ef3fef80703a3257b5da31f42)
8.本文参考该博客:跟我一步一步开发自己的Openfire插件
2.openfire_src/src/plugins/xhcplugin/src/增加web文件夹,添加xhcplugin-birdnew.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>hello world</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="pageID" content="helloworld-service" /> </head> <body> <h3> hello world jsp!! <a href="/plugins/xhcplugin/servlet">HelloWorldServlet</a> </h3> <div class="jive-contentBoxHeader">jive-contentBoxHeader</div> <div class="jive-contentBox">jive-contentBox</div> <div class="jive-table"> <table border="1"> <thead> <tr> <th>name</th> <th>machine ID</th> <th>public key</th> </tr> </thead> <tbody> <tr> <td align="center">xiao ming</td> <td align="center">qq123456</td> <td align="center">123333</td> </tr> <tr class="jive-even"> <td align="center">xiao hong</td> <td align="center">qq11111</td> <td align="center">222229</td> </tr> <tr class="jive-odd"> <td align="center">da wang</td> <td align="center">12ww33</td> <td align="center">9876500</td> </tr> </tbody> </table> </div> </body> </html>
注意:
hello world jsp!! <a href="/plugins/xhcplugin/servlet">HelloWorldServlet</a>
/plugins/xhcplugin/servlet表示家目录下,xhcplugin插件的servlet。这里如果配置错误,servlet无法工作
和下面的web-custom.xml里面的内容应一致
3.修改plugin.xml
<?xml version="1.0" encoding="UTF-8"?> <plugin> <!-- Main plugin class --> <class>com.xhcbird.xhcplugin.HelloWorld</class> <!-- Plugin meta-data --> <name>xhcplugin</name> <description>plugin xhc play.</description> <author>xhcbird</author> <version>1.0</version> <date>03/04/2014</date> <url>http://www.igniterealtime.org/projects/openfire/plugins.jsp</url> <minServerVersion>3.0.0</minServerVersion> <licenseType>gpl</licenseType> <!-- Admin console entries --> <adminconsole> <!-- More on this below --> <tab id="mytab" name="xhcbird" description="Click to manage..."> <sidebar id="mysidebar" name="HelloWorld"> <item id="helloworld-service" name="maybebest" url="xhcplugin-birdnew.jsp" description="Click to administer settings for my plugin" /> </sidebar> </tab> </adminconsole> </plugin>
4.在HelloWorld.java相同目录下,增加HelloWorldServlet.java文件
package com.xhcbird.xhcplugin; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorldServlet extends HttpServlet { @Override public void init() throws ServletException { super.init(); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doGet(request, response); response.setContentType("text/plain"); PrintWriter out = response.getWriter(); System.out.println("请求HelloWorldServlet doGet Method"); out.print("请求HelloWorldServlet doGet Method"); out.flush(); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doPost(request, response); response.setContentType("text/plain"); PrintWriter out = response.getWriter(); System.out.println("请求HelloWorldServlet doPost Method"); out.print("请求HelloWorldServlet doPost Method"); out.flush(); } @Override public void destroy() { super.destroy(); } }
5.在openfire_src/src/plugins/xhcplugin/src/web下,增加WEB-INF文件夹,创建文件web-custom.xml。
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-class>com.xhcbird.xhcplugin.HelloWorldServlet</servlet-class> <servlet-name>HelloWorldServlet</servlet-name> </servlet> <servlet-mapping> <servlet-name>HelloWorldServlet</servlet-name> <url-pattern>/servlet</url-pattern> </servlet-mapping> </web-app>
6.目录结构如图:
7.运行,效果如图:
8.本文参考该博客:跟我一步一步开发自己的Openfire插件
相关文章推荐
- openfire 虚拟内存
- openfire用eclipse编译
- OPENFIRE+MYSQL5.6安装中遇见Specified key was too long; max key length is 767 bytes openfire处理办法
- openfire+asmock实现消息推送
- Openfire中的基本实体及关系
- MyEclipse Ant SVN XML Web
- openfire视频语音插件red5下载地址
- openfire默认数据库的脚本和数据库的使用方法
- Openfire持续优化
- Tsung测试openfire
- openfire安装卸载
- openfire 插件开发环境配置与插件开发
- 基于openfire实现的androidpn的推送
- 基于xmpp实现android端实现即时通讯---asmack基本方法(一)
- 基于xmpp实现android端实现即时通讯---asmack基本方法(二)
- 一步一步开发自己的Openfire插件(聊天记录插件)
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- openfire plugin 编译单个插件
- openfire 绑定第三方账号 设置密码编码格式