我对企业技术和 Web 开发非常陌生,我当前的项目让我陷入了困境。我正在使用 OSGI 并尝试使用 HelpGUI my previous OSGI question我无法获得第 3 方库来显示 Java 中的 html 文件。相反,我可以使用 OSGI 或其他一些库在本地托管这些 html 文件吗?然后我可以使用 Java 弹出一个指向本地主机上的 index.html 的浏览器,对吗?
请告诉我我的想法是否正确。我在谷歌上搜索了教程,但它们给我带来了我认为过于复杂的路径,或者无法让我的 html 文件可供浏览器使用。有人可以让我朝正确的方向前进吗?
最佳答案
有一个简单的方法可以做到这一点。
您需要在 OSGi 中托管 html 文件并通过 HTTP 发布它们。
托管 一种选择(可能是最简单的一种)是将它们打包到 bundle 的 jar 中。
通过 HTTP 发布
OSGi 规范包括一个小型嵌入式 Web 服务器和一个用于在其中发布内容的 API。 您需要使用的相关服务称为 HttpService。检查 OSGi 规范或 HTTPService 的 javadoc 以了解如何使用它。 您可以发布 servlet 或普通资源 - 对于您的情况,后者就足够了。 你必须提供一个简短的 HttpContext 类,它知道如何找到你的 html 文件 - 例如通过使用
公共(public) URL getResource(字符串名称) { return (getClass().getResource(name)); }
您可以查看 ProSyst's mBedded Server 中提供的 HTTP 演示- 它完全满足您的需要。
请注意,在某些 OSGi 框架中,默认情况下可能不会安装 HTTP 服务 - 检查安装中还有哪些可用的附加 bundle ,以及是否必须安装附加组件才能在 OSGi 注册表中使用它。
关于java - 如何使用OSGI远程查看html文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767830/