java - 如何使用OSGI远程查看html文件

标签 java html http browser osgi

我对企业技术和 Web 开发非常陌生,我当前的项目让我陷入了困境。我正在使用 OSGI 并尝试使用 HelpGUI my previous OSGI question我无法获得第 3 方库来显示 Java 中的 html 文件。相反,我可以使用 OSGI 或其他一些库在本地托管这些 html 文件吗?然后我可以使用 Java 弹出一个指向本地主机上的 index.html 的浏览器,对吗?

请告诉我我的想法是否正确。我在谷歌上搜索了教程,但它们给我带来了我认为过于复杂的路径,或者无法让我的 html 文件可供浏览器使用。有人可以让我朝正确的方向前进吗?

最佳答案

有一个简单的方法可以做到这一点。

您需要在 OSGi 中托管 html 文件并通过 HTTP 发布它们。

  1. 托管 一种选择(可能是最简单的一种)是将它们打包到 bundle 的 jar 中。

  2. 通过 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/

相关文章:

java - Char 数组与 Byte 数组该使用哪一个?

java - Maven Artifact 尚未在 BinTray 中发布

java - 如何从 .log 文件中删除某些列/元素?

java - 简单的流程回滚问题

java - Jersey/JAX-RS 放置、删除幂等性 - 由程序员提供或完成

javascript - Angular js ng-click不起作用

html - 拒绝访问 css/和 js/文件夹或使用 htaccess 重定向/重写到 index.html

javascript - AngularJS 不会解析 select 中的 ng-disabled

html - 如何在表格中显示来自文本区域的换行符?

HTTPS 和 HTTP 域名混淆