openfire插件 servlet开发

系统 1396 0

1、首先建一个SampleServlet类,(名字随意。)继承 HttpServlet

 

      package com.maojd.test;

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 SampleServlet extends HttpServlet{

    private static final long serialVersionUID = -5404916983906926869L;
	 
   /* @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("请求SampleServlet GET Method mao");
        out.print("请求SampleServlet GET Method mao");
        out.flush();
    }
 
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //super.doPost(request, response);
        this.doGet(request, response);
        
        response.setContentType("text/plain");
        PrintWriter out = response.getWriter();
        System.out.println("请求SampleServlet GET Method mao");
        out.print("请求SampleServlet POST Method mao");
        out.flush();
    }
 
}

    

 

 

2、配置servlet的路径

    a) Web目录下建 WEB-INF

    b)WEB-INF下建一个 web-custom.xml文件,配置对应servlet映射信息。这个文件相当于普通web工程的web.xml

openfire插件 servlet开发

 

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>
    <!-- Servlets -->
    <servlet>
        <servlet-name>SampleServlet</servlet-name>
        <servlet-class>com.maojd.test.SampleServlet</servlet-class>
    </servlet>

    <!-- Servlet mappings -->
    <servlet-mapping>
        <servlet-name>SampleServlet</servlet-name>
        <url-pattern>/servlet</url-pattern>
    </servlet-mapping>

</web-app>

    

 

 

说明:( 重要!!!!!!

Servlet的配置 url必须全部小写。有一个大写字母则找不到 对象的servlet

配置多个servlet,和单个方法一样。配置多个servlet 和 servlet-mapping即可。

 

3、在plugin.xml文件中配置JSP页面显示位置

      <adminconsole>   
	<tab id="tab-server">
          <sidebar id="sidebar-server-settings">
              <item id="sample-service" name="Sample Service maojd" url="myplugin-demo1.jsp" description="Click is trigger sample plugin" />
          </sidebar>
    </tab>
</adminconsole>

    

备注:item标签中的id是自己定义的,要保证唯一,不能与其他的插件冲突,因此我们可以将这个ID的命名规则设为( 插件名-页面 ) 。JSP页面会根据这个ID来确定左侧菜单栏的显示位置。

 

4、创建JSP页面

Web目录下建jsp页面 myplugin-demo1.jsp, 命名规范: 插件名-页面名.jsp

openfire插件 servlet开发

 

      <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>hello world: 你好openfire</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="pageID" content="sample-service"/>
  </head>
  
  <body>
    <h3>hello world jsp!! <a href="/plugins/myplugin/servlet">SampleServlet</a></h3>
    <div class="jive-contentBoxHeader">jive-contentBoxHeader</div>
    <div class="jive-contentBox">jive-contentBox</div>
    
    <div class="jive-table">
        <table cellpadding="0" cellspacing="0" border="0" width="100%">
            <thead>
                <tr>
                    <th>&nbsp;sss</th>
                    <th nowrap>a</th>
                    <th nowrap>b</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td align="center">asdf</td>
                    <td align="center">asdf</td>
                    <td align="center">asdf</td>
                </tr>
                <tr class="jive-even">
                       <td align="center">asdf</td>
                    <td align="center">asdf</td>
                    <td align="center">asdf</td>
                </tr>
                <tr class="jive-odd">
                       <td align="center">asdf</td>
                    <td align="center">asdf</td>
                    <td align="center">asdf</td>
                </tr>
             </tbody>
        </table>
    </div>
  </body>
</html>

    

备注:Jsp需要注意:<meta name="pageID" content="sample-service"/>

PageID固定就这样不变, Sample-service可以随便,但是一定要和标题对应ID保持一致(top 导航id和左侧导航id对应), 一般是 plugin.xml 对应

  openfire插件 servlet开发

 

 

openfire插件 servlet开发


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论