如何为Openfire插件进行HTTP绑定

时间:2012-08-03 11:05:23

标签: java jsp jetty openfire

我使用Openfire作为我公司的聊天服务器。现在我需要为Openfire创建一个插件。

正如我从其他插件中看到的那样,他们可以通过端口7070将HTTP绑定到自己身上。 例如:http://example.com:7070/redfire其中 redfire 是插件的名称。

我的插件的名称是 toplug ,所以我希望能够通过以下方式访问我的插件的JSP页面:http://example.com:7070/toplug/index.jsp其中' index.jsp'是一些示例页面。

但是当我尝试通过端口7070访问我的JSP页面时,Jetty服务器(Openfire运行的那个)总是报告错误404&page 39找不到'。我想这是因为我的文件夹中包含JSP页面的绑定还没有设置好。请问如何做这个绑定的事情?

1 个答案:

答案 0 :(得分:0)

这里回答的问题是: http://community.igniterealtime.org/message/224134

您不需要插件即可访问http bing端口的Web服务。只需将您的网页放在以下文件夹中:
OPENFIRE_HOME /的Openfire /资源/巴掌

并访问:
http://example.com:7070/your_folder/your_page.html

请注意,除非替换lib文件夹中的jasper-xxxx.jar文件,否则Openfire不会编译JSP页面。

如果您仍想从插件创建一个码头Web上下文(应用程序),请参阅Redfire插件的源代码:

import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.webapp.WebAppContext;     
...

public void initializePlugin(PluginManager manager,File pluginDirectory) {
  ContextHandlerCollection contexts = 
  HttpBindManager.getInstance().getContexts();

  context = new WebAppContext(contexts,pluginDirectory.getPath(),"/"+NAME);
  context.setWelcomeFiles(new String[]{"index.html"});
...