【问题标题】:Workflow clearification on OSGi Servlet and HTML UIOSGi Servlet 和 HTML UI 上的工作流清理
【发布时间】:2013-05-22 12:00:14
【问题描述】:

我需要一些关于 OSGi Servlet 和 HTML 前端的工作流程的澄清。我是一个老派的 HTML 和 Javascript 程序员,对所有这些 OSGi、Ajax 和 JQuery 的东西都是新手。我正在开发自己的 OSGi 服务器实现。我按照本指南使用 eclipse 创建了我的 OSGi 插件:https://docs.jboss.org/author/display/AS7/Creating+a+new+OSGi+Bundle+using+Eclipse

到目前为止,我的 Servlet 运行良好。它应该处理数据库请求。我用 HTML 和 Javascript(JQuery) 编写了一个网站,我想从中向 Servlet 发送 Ajax 请求。

我的问题是,我不知道如何将我的 HTML/Javascript/JQuery 内容集成到 OSGi Servlet。我试图将它注册为 Servlet Bundle 中的资源,效果很好,但我不确定这是否是一种非常优雅的方式......它需要在同一个 OSGi 服务器上运行,但它是否需要在同一个作为 Servlet 捆绑还是单独捆绑?

我将在 Eclipse 中为 UI Bundle 创建哪种类型的项目以及如何导出它?

【问题讨论】:

    标签: ajax servlets user-interface osgi frontend


    【解决方案1】:

    您唯一需要做的就是让您的网络资源(html、javascript 和 css 文件)在 url 上可用。您可以使用 Servlet 手动执行此操作。如果将 Web 资源打包到包中,则可以从 BundleContext.getBundle() 获取这些资源的 InputStream。

    更简单的方法是使用 Amdatu ResourceHandler。这是一个所谓的“扩展器”,其唯一目的是使捆绑包中的资源在 url 上可用。

    您需要执行以下操作: 1)确保您的资源打包在捆绑包中 2) 在包含资源的包的清单中添加两个额外的标头 X-Web-资源-版本:1.0 X-Web-Resource:路径/到/资源 3) 将 Apache Felix Whiteboard 和 Amdatu ResourceHandler 包添加到您的运行时。

    文档可以在 Amdatu 网站上找到:http://amdatu.org/components/web.html(滚动到页面底部)。

    【讨论】:

      【解决方案2】:

      Pax Web 项目可能会引起您的兴趣,无论如何,有一个sample 关于如何发布可用资源。 该示例也应该可以使用类似的 HTTP 服务,如 Apache Felix HTTP 服务,可能需要一些小的调整 :)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-12
        • 1970-01-01
        • 2013-11-14
        • 2011-10-16
        • 1970-01-01
        • 1970-01-01
        • 2021-11-21
        相关资源
        最近更新 更多