快速业务通道

Equinox OSGi服务器应用程序的配置步骤 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

Equinox OSGi服务器应用程序的配置步骤

时间:2011-10-13 博客园 八进制

本文介绍在Eclipse里如何配置一个简单的基于Eclipse Equinox OSGi实现的Web应用程序,在它的基 础上可以构造更加复杂的应用,本文使用的是Eclipse 3.3.1版本,如果你的Eclipse版本在3.2.0或以上 应该都可以。

一、支持静态页面和Servlet

1. 创建一个新的plugin项目, net.bjzhanghao.osgi.test,在向导第一步里选中“This plug-in is target,在下一步的“Plug-in Options”里选中“Generate an activator”。

2. 在例子项目的MANIFEST.MF里添加如下依赖项目,这些项目都是Eclipse自带的:

org.eclipse.equinox.http.jetty org.eclipse.equinox.http.servlet org.mortbay.j etty org.apache.commons.logging javax.servlet org.eclipse.equinox.http.registry

3. 在例子项目根目录下创建一个放置web文件的目录,如“web_files”,在这个目录下写一个简单的 index.html文件。

4. 为项目建一个plugin.xml文件,内容如下:

alias="/web"

base-name="/web_files"/>

注意,这时若MANIFEST.MF里提示错误,只要在Bundle-SymbolicName这一行后面加上 “;singleton:=true”即可解决。

5. 现在可以启动这个应用程序了。在Eclipse菜单里选择“Run->Open Run Dialog...”,在左边 的 “OSGi Framework”项下创建一个新的启动配置项,在右边先点“Deselect All”清空所有复选框, 然后在Workspace下选中自己的osgi项目,再点“Add Required Bundles”按钮,Eclipse会自动把所依赖 的项目选中。最后按“Debug”按钮启动,内嵌的jetty和我们的项目会一起被启动。

Equinox OSGi服务器应用程序的配置步骤(2)

时间:2011-10-13 博客园 八进制

6. 打开浏览器,输入“http://localhost/web/index.html”应该可以看到index.html里的内容。

以上只验证了静态页面,现在来配置一个servlet看看。

7. 在项目里创建一个继承自HttpServlet的类,覆盖doGet()方法,内容是在网页上打印一些文本。

8. 在项目的plugin.xml里添加下面的内容,这些内容指定了servlet的访问路径和实现类:

alias="/exampleServlet"

class="net.bjzhanghao.osgi.example.servlet.ExampleServlet"/>

9. 重新启动项目,在浏览器里输入“http://localhost/exampleServlet”,应该可以看到servlet的 输出。

二、支持JSP页面

10. 在index.html所在目录下创建一个简单的jsp文件index.jsp

11. 打开项目的MANIFEST.MF文件,添加如下项目依赖:

org.eclipse.equinox.jsp.jasper, org.apache.jasper, org.eclipse.equinox.jsp.ja sper.registry, javax.servlet.jsp, org.apache.commons.el, org.eclipse.equinox.http.h elper, org.eclipse.osgi, org.eclipse.osgi.services

其中org.eclipse.equinox.http.helper需要从cvs里下载得到(目前是在/cvsroot/eclipse下的 equinox-incubator目录里,以后可能会直接放到/cvsroot/eclipse下)。

12. 修改Activator,目的是注册一个处理扩展名为.jsp类型的servlet,感觉这一步以后应该有更简 单的方法,例如通过扩展点。

public class Activator implements BundleActivator { private  ServiceTracker httpServiceTracker; String jspContext = "/jsps"; String  jspFolder = "/web_files"; public void start(BundleContext context) throws  Exception { httpServiceTracker = new HttpServiceTracker (context); httpSe

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号