已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于OSGi和Spring开发Web应用作为一个新的事实上的工业标准,OSGi 已经受到了广泛的关注, 其面向服务(接口)的基本思想和动态模块部署的能力, 是企业级应用长期以来一直追求的目标。Spring 是一个著名的 轻量级 J2EE 开发框架,其特点是面向接口编程和非侵入式的依赖注入。将 OSGi 和 Spring 结合能充分发挥二者各自的特长,更好地满足企业级应用开发的需求。Spring 开发组织在 2008 年发布了将 OSGi 和 Spring 结合的第一个版本:Spring-DM。dm Server 是一个完全模块化部署的,基于OSGi的Java服务器,为运行企业Java应用和Spring应用提供更加强大的灵活性和可靠性。SpringSource应用平台是构建在Spring、OSGi和Apache Tomcat之上的应用服务器,这个新的应用服务器摒弃了原有的Java EE服务器标准,自然而然地将Spring编程模型展现其中,随之而来的还有一套基于OSGi内核构建的全新部署和打包系统。本文通过一个简单实例,介绍如何利用 Spring-DM 开发基于 OSGi 和 Spring 架构的 Web 应用,同时探讨其中用到的关键技术及其基本思想。实例教程:一、. 指定Target Platform 到所用到的所有的bundle包的目录中。二、 创建一个Service接口bundle新建一个接口类:mon.ShowMsgInfo同时新加一个接口方法:public String GetMsgInfo();打开这个接口bundle工程的MANIFEST.MS文件,在 Runtime/Exproted Packages 中添加刚刚新建的接口类,使之对外提供这个服务。三、 创建一个接口bundle的实现 bundle打开这个接口bundle工程的MANIFEST.MS文件,在 Dependencies/Imported Packages 中添加上面新建的接口类新建一个接口实现类:ShowMsgInfo在这个类中,实现接口中的方法:package tech.test.service;import mon.IShowMsgInfo;public class ShowMsgInfo implements IShowMsgInfo Overridepublic String GetMsgInfo() return Hello Word!;接下来,我需要将这个实现类发布成为一个OSGI服务:在工程新一个目录OSGIINF ,并新建一个components.xml文档。打开这个接口bundle工程的MANIFEST.MS文件,添加一行Service-Component: OSGI-INF/components.xml四、 接下来,我们创建一个WEB应用bundle:.1. 新建一个网页bundle工程:2. 在工程目录中创建 WEB-INF/lib 、 WEB-INF/classes 两个目录并在WEB-INF目录中,创建 Spring、jsf、及 web 配置文件:3. 在MANIFEST.MF 文件中的配置项: Runtime/Classpath 中添加刚才创建的两个目录。4. 点击Add 添加我们将要使用的jar包5. 新建一个网页就的Bean类TestBeanpackage tech.test.bean;import tech.test.control.TestBeanControl;public class TestBean private TestBeanControl testControl;public String getShowMsg() return testControl.getShowMsg();public TestBeanControl getTestControl() return testControl;public void setTestControl(TestBeanControl testControl) this.testControl = testControl;6. 创建一下控制类 TestBeanControlpackage tech.test.control;import mon.IShowMsgInfo;public class TestBeanControl private static IShowMsgInfo msginfoService;public String getShowMsg() return msginfoService.GetMsgInfo();public void setMsginfoService(IShowMsgInfo msginfoService) this.msginfoService = msginfoService;public void unsetMsginfoService(IShowMsgInfo msginfoService) if(this.msginfoService=msginfoService)this.msginfoService = null;7. 打开这个接口bundle工程的MANIFEST.MS文件,在 Dependencies/Imported Packages 中添加上面新建的接口服务类及WEB服务类8. 新建一个 OSGIINF/components.xm 文件,我们来引用上面发布出来的OSGI服务9. 打开这个接口bundle工程的MANIFEST.MS文件,添加一行Service-Component: OSGI-INF/components.xml10. 修改 Application-test.xml修改 faces-config.xmlxmanager_web_resourceszh_CNorg.springframework.web.jsf.DelegatingVariableResolverTestBtech.test.bean.TestBeansessiontestControl#TestControlindex*index/index.jsp修改 web.xml XmanagerWebjavax.faces.CONFIG_FILES/WEB-INF/faces-config.xmlorg.apache.myfaces.DETECT_JAVASCRIPTfalseorg.apache.myfaces.PRETTY_HTMLtrueorg.apache.myfaces.AUTO_SCROLLtruecontextConfigLocation/WEB-INF/Application*.xmlorg.springframework.web.context.ContextLoaderListenerMyFacesExtensionsFilterorg.apache.myfaces.webapp.filter.ExtensionsFiltermaxFileSize100mMyFacesExtensionsFilterFaces ServletMyFacesExtensionsFilter/faces/myFacesExtensionResource/*SetCharacterEncodingorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8SetCharacterEncoding*.jsfFaces Servletjavax.faces.webapp.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大数据时代下的精准营销技巧与案例分析
- (完整版)苏教七年级下册期末解答题压轴数学重点中学题目A卷解析
- 同业业务关系经理销售技巧培训资料
- 工程会计岗位面试策略与技巧
- 市场分析与策略制定
- 基层公共服务岗位如何适应职业发展这份指南请收藏
- 2025年团队面试题及答案
- 工程师成长手册解决网络问题及维护实战技巧
- 吉安市矿业有限责任公司2025年面向社会公开招聘工作人员初审通过人员及笔试考试安排笔试历年参考题库附带答案详解
- 2025贵州铜仁全通汽车运输有限责任公司招聘财务人员1人笔试历年参考题库附带答案详解
- 四川省巴中市2024-2025学年八年级上学期语文期末试卷(含答案)
- 湖南省新高考教学教研联盟2026届高三年级12月联考(长郡二十校联盟)数学试卷(含答案)
- 【新教材】唱游·音乐 湖南文化出版社二年级上册第十二课-《锣鼓歌》-课件
- 2025年临床医师三基三严考试试题及答案
- 2024-2025学年人教版七年级英语上册听力技能测试卷
- 水环境治理合同范本
- 室内装修冬季施工技术方案
- 2025年妊娠风险评估培训试题及答案
- 北极熊的烦心事课件
- 土方机械安全培训课件
- 基于磁流耦合模型的连铸结晶器电磁搅拌参数优化:理论、模拟与实践
评论
0/150
提交评论