首页 > 软件开发 > osgi 开发web应用怎么做?

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

osgi 开发web应用怎么做?

标签:osgi 开发web应用 2017-8-17 作者:open_tq54_niwe

  使用OSGI框架进行web开发有两种方式,一种是将web容器置于OSGI框架下,一种方式是将OSGI框架置于web容器下。在此我们对两种方式进行介绍。


  第一种方式,是将web容器置于OSGI框架下进行web应用的开放。将web容器置于OSGI框架下的方式,就是将web容器做成OSGI支持的Bundle,在安装到OSGI框架中,目前我们用到的是Jetty组件。下面开始介绍这种方式下的web开发


  首先创建一个Eclipse插件项目,跟上面Helloworld例子的步骤一样,创建一个名字为“com.centfor.osgi.web”的插件。然后在此插件下创建一个WebRoot文件夹,里面创建两个文件夹一个是img,一个是jsp,里面分别放置一个图片文件,一个简单jsp文件。大致结构如下图所示:


  Index.jsp 文件内容很简单,只是在页面上显示“My Jsp Page Started...”以及一个图片,


  下一步,我们打开MANIFEST.MF文件将要使用到的组件以及包进行引入,


  主要引入的插件有


  org.eclipse.equinox.http.registry,       (用于注册web资源)


  org.eclipse.equinox.jsp.jasper.registry,  (用于注册jsp资源)


  Org.eclipse.equinox.http.jetty         (web容器jetty组件)


  引入的包有


  Javax.servlet                      (开发servlet要使用到的两个包)


  Javax.servlet.http


  将所需要的插件以及包引入之后,开始创建我们的第一个servlet,一个位于“com.centfor.osgi.web.servlet”包下的“MyServlet”类。代码大致如下:


  只是在doGet方法中,输出了一行字符“My servlet ......”


  创建完毕,我们开始资源映射的配置,因为如果要通过web容器Jetty访问我们的web资源,必须要告诉OSGI框架,哪些资源可以访问,访问的规则是什么。打开“plugin.xml”文件,输入类似于下图的内容:


  到此,我们的简单web应用开发完成,下面开始运行。


  右键单击我们的web项目,选择“Run as。。”跟上面的操作一样,在弹出的对话框中设置OSGI Configuration并让其自动选择所需要的所有插件,点击运行。在控制台中输入“ss”控制台显示我们所使用到的组件状态都是“Active”。如下图:


  此时打开浏览器,访问我们刚才映射的jsp以及servlet。看到如下图所示结果:


  Index.jsp的访问结果:


  Myservlet访问结果:


  第二种方式,就是将OSGI框架置于Web容器下来运行我们的Web程序。这里我们使用到得web容器为tomcat6.0,另外为了能在web容器下运行OSGI框架以及基于OSGI框架的Web应用,我们需要一个OSGI框架与WEB容器的一个bridge war(可到eclipse官网下载,下载地址为//www.eclipse.org/equinox/server/downloads/bridge.war),这个war的作用就是起到web容器与OSGI框架的整合作用。


  首先下载bridge war至本地,并将其放置到tomcat的webapps目录下。启动tomcat,tomcat会自动将这个war文件解压安装。


  将我们的web组件给导出成一个eclipse的插件文件,也就是一个jar文件,具体导出步骤如下:


  首先点击“build.properties”文件,在左侧的Binary Build中选择要导出的文件,如下图所示:


  将我们的 WebRoot文件夹也选定


  右键点击我们的工程,选择“Export...”在弹出的对话框中选中“Plug-in Development->Deployable plug-ins and fragments”,点击“next”如下图所示:


  进入另一个界面,作出如下图的选择


  点击完成,桌面上就出现了一个 com.centfor.osgi.web.zip的文件,打开此文件,其目录结果大致为:


  Plugins->com.centfor.osgi.web_1.0.0.200911111125.jar


  将com.centfor.osgi.web_1.0.0.200911111125.jar文件解压出来。


  接下来我们来看一下bridge war的目录结构,大致如下图:


  我们将我们的"com.centfor.osgi.web_1.0.0.200911111125.jar"文件,放置到bridge下的plugins目录下,启动tomcat,我们会发现tomcat下有一个OSGI的提示符"osgi>"


  在tomcat控制台中输入"ss"命令,可以看到我们的web组件已经启动成功,如下图所示:


  此时打开浏览器,输入类似于以下的路径,来访问我们的jsp和servlet查看运行结果


  上面就是小编为大家整理的关于osgi 开发web应用的文章,希望对大家有帮助。在实际的操作过程中大家可以根据实际情况进行灵活的调整。了解更多咨询请关注猪八戒网。


最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才