0

我正在使用 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 not found'。我猜这是因为尚未设置与包含 JSP 页面的文件夹的绑定。请问这个绑定的东西怎么做?

4

1 回答 1

0

问题在这里得到解答:http:
//community.igniterealtime.org/message/224134

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

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

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

如果您仍然想从您的插件创建一个码头网络上下文(应用程序),请参阅 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"});
...
于 2012-08-03T15:08:34.070 回答