`

使用Eclipse扩展点实现Bundle基于Web的应用程序

    博客分类:
  • OSGi
阅读更多
如何创建自己的Bundle,我们如果了解了,应该都知道,存在两种。
1、通过BundleActivator来实现
2、通过OSGi提供的DS服务实现

在这里,我要讲的是通过第3种,即Eclipse插件扩展点机制及equinox.http.registry提供的注册功能来实现。

1、创建一个新插件项目,名为com.example.http.appliction
2、添加资源到项目
创建一个名为web_files的文件夹来存在你所需要的静态内容文件。
放置资源,现在告诉服务器你的插件中静态内容地址及其URL的标识。创建一个扩展点通过创建一个plugin.xml文件,其内容如下:
<plugin>
  <extension point="org.eclipse.equinox.http.registry.resources">
    <resource
      alias="/files"
      base-name="/web_files"/>
  </extension>
</plugin>
在以上扩展文件中,其别名为files,即我们在URL中访问的路径,而真正的文件路径却是web_files.设置好别名,我们就可以通过URL出访问该URL下的资源,例如:在IE中输入http://localhost/files/index.html,如果存在则显示,如果不存在则显示404错误。

3、其实在OSGi提供的Http不只是只能注册静态资源,还可以注册servlet。我们在项目下创建一个包,在其包下创建一个实现javax.serlvet.http.HttpServlet的类。然后使用扩展点的方式,注册该
servlet,然后通过别名,就可以访问该Servlet.
在plugin.xml文件中存在如下内容,则可以通过别名/test来访问此servlet

  <extension point="org.eclipse.equinox.http.registry.servlets">
    <servlet
      alias="/test"
      class="com.example.servlet.MyServlet"/>
  </extension>
在IE中输入http://localhost/test,则输出该servlet的输出结果

详细过程:http://hzylyl.blog.163.com/blog/static/3309716420104124658332/

源代码在附件中,可下载。
1
2
分享到:
评论

相关推荐

    OSGI应用程序

    在Eclipse中配置一个基于Eclipse Equinox OSGi的Web应用程序涉及到以下几个关键知识点: 1. **OSGI基础概念**:OSGI的核心是bundle,每个bundle都是一个独立的Java模块,包含类、资源和元数据。它们通过导出和导入...

    基于OSGi的Web应用开发系列(全).pdf

    在学习基于OSGi的Web应用开发时,有几点入门要求:需要了解SSH框架的使用,熟悉Eclipse IDE,以及对Maven有一定的掌握。此外,还需要JDK 1.6+,Eclipse 3.4+,Spring 2.5.6,Spring-DM 1.1.2,以及Maven 2.0.9等工具...

    在网页上调用桌面exe程序的简单方法

    例如,通过使用Web应用程序和浏览器扩展,我们可以更安全地实现这种功能,还能提升用户体验。 综上所述,虽然使用ActiveXObject调用桌面exe程序在技术上是可行的,但在实际开发中,需要考虑浏览器兼容性、安全性...

    OSGi Web示例工程

    Web示例工程是使用OSGi技术构建的一个具体应用,通常包括了如何在OSGi环境中部署和运行Web应用程序的实例。 在OSGi框架中,Equinox是Eclipse基金会提供的一个实现,它是OSGi规范的主要实现之一,广泛应用于服务器端...

    OSGI中包含web服务器配置需要的jar.zip

    OSGI(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许应用程序以模块化的方式构建,每个模块称为一个bundle。在OSGI环境中,你可以动态地安装、启动、更新和卸载这些bundle,而无需重启...

    RCP_Plug-in开发自学教程

    3. **扩展点和扩展**:Eclipse RCP的扩展机制是通过定义和使用扩展点来实现的。开发者可以在自己的插件中声明扩展点,也可以使用其他插件提供的扩展点。 4. **编写代码**:编写与插件功能相关的Java类,如视图、...

    WEB容器托管OSGi容器(轻量级集成方式)

    标题中的“WEB容器托管OSGi容器(轻量级集成方式)”是指在Web应用程序服务器(如Tomcat、Jetty等)中嵌入OSGi(Open Service Gateway Initiative)框架,实现服务组件的轻量化管理和部署。OSGi是一种动态模块化系统...

    springBundle常用包

    Spring Bundle 是一个专门为基于OSGi(Open Service Gateway Initiative)架构的Java应用程序设计的框架,它使得在OSGi环境中管理和部署Spring应用变得更加简单。OSGi是一种模块化系统,它允许Java应用按需加载和...

    以 OSGi 包的形式开发和部署 Web 服务

    5. **开发Web客户机**:创建一个简单的Web应用程序作为客户机,用于测试和验证服务的功能。此Web应用程序部署在Apache Tomcat服务器上,与OSGi容器分开运行。 6. **多版本支持**:在OSGi容器中同时部署同一服务的多...

    Karaf在Eclispe中的启动环境

    OSGi(Open Services Gateway Initiative)是一种Java模块化系统,允许应用程序以模块化的方式构建,便于维护和更新。每个模块称为一个Bundle,它们可以动态地安装、启动、停止和更新。 3. **Eclipse集成**: 在...

    基于jsp+Servlet+jstl写的考勤系统.zip

    在IT行业中,开发Web应用程序时,我们经常使用Java技术栈。这个“基于jsp+Servlet+jstl写的考勤系统”就是一个典型的Java Web项目,它利用了JavaServer Pages(JSP)、Servlet和JavaServer Pages Tag Library(JSTL...

    struts-1.2.9-lib

    它为开发者提供了构建企业级Web应用程序的结构和工具,极大地简化了Java Servlet和JSP(JavaServer Pages)的开发工作。在Struts 1.2.9中,主要包括以下组件: 1. **ActionServlet**:这是Struts的核心控制器,负责...

    osgi gemini blueprint环境

    在OSGi中,模块化系统允许应用程序被分解为独立的单元,称为“bundle”,每个bundle都可以有自己的生命周期,并能与其他bundle交互。 描述中提到的链接指向了一篇博客文章,虽然具体内容未给出,但通常会涉及到如何...

    struts项目--蜀玉电子购物-网上商城-明日科技

    Struts项目——蜀玉电子购物网上商城是基于Apache Struts框架构建的一个电子商务应用程序,由明日科技开发。这个项目旨在提供一个全面的在线购物平台,让用户能够方便地浏览、选择商品并进行安全的在线交易。接下来...

    关于OSGI的详细资料

    这种特性使得OSGi非常适合构建高度模块化和可扩展的应用程序。 SpringDM是Spring框架的一个扩展,它允许Spring应用程序利用OSGi的优势,即模块化和动态管理特性。SpringDM提供了一种方式,可以在OSGi环境中定义和...

    JSF框架使用入门

    通过上述知识的学习和实践,你将能够初步掌握JSF框架的使用,进而构建功能丰富的Java Web应用程序。提供的资源“JSF框架使用入门.avi”可能是视频教程,可以帮助直观理解JSF的使用;“JSF框架使用入门.ppt”可能是...

    一个简单的java分布式实例

    OSGi是一种Java模块化系统,它允许开发者将应用程序分解为独立的、可重用的服务单元,称为“bundle”。这些bundle之间可以通过声明依赖关系来互相通信,这使得代码更易于维护和升级。在我们的例子中,"HelloEquinox...

    pageext

    4. **将页面绑定到Web应用程序** 这一步通常涉及到定义URL路径和页面处理逻辑,确保你的页面能够被Jazz Web UI识别和加载。 5. **实现页面** 使用Jazz Web UI框架,编写HTML、CSS和JavaScript代码来构建实际的...

Global site tag (gtag.js) - Google Analytics