- 浏览: 1437240 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (409)
- Java (48)
- Spring (29)
- struts2 (17)
- hibernate (4)
- 设计模式 (24)
- jbpm (1)
- JavaScript (5)
- 统计报表 (7)
- ExtJS_3.0 (35)
- struts1 (1)
- 分析设计 (3)
- Flex3 (24)
- UML (2)
- 数据库 (18)
- PowerDesigner (2)
- 应用服务器 (3)
- WebService (5)
- ActiveMQ_5.3.2 (6)
- Java通信技术 (11)
- GWT (6)
- OSGi (15)
- android (11)
- liferay6.0.6 (13)
- jquery (13)
- Linux (3)
- java.util.concurrent (16)
- guava (9)
- 开发模式 (1)
- 大数据 (2)
- 互联网金融 (4)
- treegrid-3.0 (7)
- 分布式 (8)
- GO语言 (4)
- maven (1)
- 缓存技术 (6)
- 其他 (2)
- 前端页面 (1)
- heasy (1)
- spring cloud(F版) (21)
- springboot (12)
- springmvc (5)
- mybatis (3)
- dubbo (1)
- 物联网 (0)
最新评论
-
raymond.chen:
谢谢您的分享
使用Ngrok解决通过外网访问内网web应用 -
wangyudong:
速度有点慢,不过在也找到了一个开源的holer,配置一个key ...
使用Ngrok解决通过外网访问内网web应用 -
a1006458222:
...
Axis2的部署和应用 -
偷师来了:
不好意思 这样的博客我觉得就灭有必要分享出来了 命令大家都会看 ...
Consul框架介绍 -
lliiqiang:
怎么直接删除文件夹啊?固定的几个文件可以删除,不固定的呢?需要 ...
Flex AIR —— 文件读写
在web中使用Spring-DM时,需要用到spring-osgi-web-extender-x.x.x.jar Bundle,该Bundle的启动级别要比其它的大。
一、开发步骤如下:
1、创建插件工程,最终的目录结构如下:
2、添加WEB-INF目录,并在该目录下加入web.xml文件。
3、引入相关的Bundle和包,最终MANIFEST.MF文件的内容如下:
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: P6 Plug-in Bundle-SymbolicName: p6;singleton:=true Bundle-Version: 1.0.0 Bundle-Activator: p6.Activator Import-Package: javax.servlet, javax.servlet.http, javax.servlet.resources;version="2.4.0", org.osgi.framework;version="1.3.0", org.springframework.osgi.web.context.support;version="1.1.3", org.springframework.web.context;version="2.5.5", org.springframework.web.context.support;version="2.5.5", p3.service;version="1.0.0" Require-Bundle: org.springframework.bundle.osgi.core, org.springframework.bundle.osgi.io, org.springframework.bundle.spring.beans, org.springframework.bundle.spring.context, org.springframework.bundle.spring.core, org.springframework.osgi.catalina.osgi, org.apache.jasper
4、创建HelloServlet,其源码如下:
public class HelloServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=GBK"); WebApplicationContext ctx = WebApplicationContextUtils. getWebApplicationContext(req.getSession().getServletContext()); PersonManager pm = (PersonManager)ctx.getBean("osgiPersonManager"); if(pm!=null){ pm.savePerson("cjm", "123"); resp.getWriter().print("调用成功!"); } } }
5、编辑web.xml文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>contextClass</param-name> <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>p6.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
6、在WEB-INF目录下加入applicationContext.xml文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd"> <osgi:reference id="osgiPersonManager" interface="p3.service.PersonManager" /> </beans>
评论
3 楼
TANHAIWEI
2011-11-15
搞定了...
web.xml中的servlet写错了...
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: HelloWorldWeb Plug-in
Bundle-SymbolicName: HelloWorldWeb
Bundle-Version: 1.0.0
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.tanhaiwei.demo.timeservice,
javax.servlet;version="2.4.0",
javax.servlet.http;version="2.4.0",
javax.servlet.resources;version="2.4.0",
org.springframework.beans;version="3.0.0.RC1",
org.springframework.beans.factory;version="3.0.0.RC1",
org.springframework.context;version="3.0.0.RC1",
org.springframework.core.io;version="3.0.0.RC1",
org.springframework.core.io.support;version="3.0.0.RC1",
org.springframework.osgi.io;version="2.0.0.M1",
org.springframework.osgi.web.context.support;version="2.0.0.M1",
org.springframework.web.context;version="3.0.0.RC1",
org.springframework.web.context.support;version="3.0.0.RC1"
web.xml中的servlet写错了...
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: HelloWorldWeb Plug-in
Bundle-SymbolicName: HelloWorldWeb
Bundle-Version: 1.0.0
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.tanhaiwei.demo.timeservice,
javax.servlet;version="2.4.0",
javax.servlet.http;version="2.4.0",
javax.servlet.resources;version="2.4.0",
org.springframework.beans;version="3.0.0.RC1",
org.springframework.beans.factory;version="3.0.0.RC1",
org.springframework.context;version="3.0.0.RC1",
org.springframework.core.io;version="3.0.0.RC1",
org.springframework.core.io.support;version="3.0.0.RC1",
org.springframework.osgi.io;version="2.0.0.M1",
org.springframework.osgi.web.context.support;version="2.0.0.M1",
org.springframework.web.context;version="3.0.0.RC1",
org.springframework.web.context.support;version="3.0.0.RC1"
2 楼
TANHAIWEI
2011-11-15
我用Spring DM 2.0M1死活过去不...总是提示:
The bundle could not be resolved. Reason: Missing Constraint: Require-Bundle: org.apache.jasper; bundle-version="5.5.17"
但实际上我已经加入了。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: HelloWorldWeb Plug-in
Bundle-SymbolicName: HelloWorldWeb
Bundle-Version: 1.0.0
Bundle-Vendor:
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: ps.demo.timeservice,
javax.servlet;version="2.4.0",
javax.servlet.http;version="2.4.0",
javax.servlet.resources;version="2.4.0",
org.osgi.framework;version="1.5.0",
org.springframework.osgi.web.context.support;version="2.0.0.M1",
org.springframework.web.context;version="3.0.0.RC1",
org.springframework.web.context.support;version="3.0.0.RC1"
Require-Bundle: org.springframework.osgi.core;bundle-version="2.0.0",
org.springframework.osgi.io;bundle-version="2.0.0",
org.springframework.beans;bundle-version="3.0.0",
org.springframework.context;bundle-version="3.0.0",
org.springframework.core;bundle-version="3.0.0",
org.apache.jasper;bundle-version="5.5.17",
org.springframework.osgi.catalina.osgi;bundle-version="5.5.23"
请教要怎么处理呀...
The bundle could not be resolved. Reason: Missing Constraint: Require-Bundle: org.apache.jasper; bundle-version="5.5.17"
但实际上我已经加入了。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: HelloWorldWeb Plug-in
Bundle-SymbolicName: HelloWorldWeb
Bundle-Version: 1.0.0
Bundle-Vendor:
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: ps.demo.timeservice,
javax.servlet;version="2.4.0",
javax.servlet.http;version="2.4.0",
javax.servlet.resources;version="2.4.0",
org.osgi.framework;version="1.5.0",
org.springframework.osgi.web.context.support;version="2.0.0.M1",
org.springframework.web.context;version="3.0.0.RC1",
org.springframework.web.context.support;version="3.0.0.RC1"
Require-Bundle: org.springframework.osgi.core;bundle-version="2.0.0",
org.springframework.osgi.io;bundle-version="2.0.0",
org.springframework.beans;bundle-version="3.0.0",
org.springframework.context;bundle-version="3.0.0",
org.springframework.core;bundle-version="3.0.0",
org.apache.jasper;bundle-version="5.5.17",
org.springframework.osgi.catalina.osgi;bundle-version="5.5.23"
请教要怎么处理呀...
1 楼
kris_wuj
2011-11-13
求源码!
发表评论
-
从外部启动OSGi,并和OSGi进行交互
2010-11-24 19:56 3877本范例主要演示如下技术点: 1、从OSGi外部启 ... -
Spring DM入门
2010-11-21 20:15 10179Spring Dynamic Modules (即Sp ... -
将web容器置于OSGi框架下进行web应用的开发
2010-11-17 20:10 3271将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2010-11-11 21:33 13290Eclipse为开发OSGI Bundle提 ... -
服务工厂(ServiceFactory)
2010-11-10 23:35 2590一般情况下,服务对象在注册后,任何其它的Bundle在请求该服 ... -
服务跟踪(ServiceTracker)
2010-11-10 23:00 6958当多个Bundle使用同一接 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2010-10-27 21:53 24931、文件目录如下: F:\study_osgi ... -
在启动OSGi框架时自动安装启动Bundle
2010-10-20 21:12 6070Equinox提供了在启动框架时自动安装Bundle以及启动B ... -
Equinox概述
2010-10-19 22:50 2436Equinox是Eclipse开源组织提供的、参照 ... -
Declarative Services规范简介及应用
2010-10-17 22:22 1537Declarative Serv ... -
消费一个Bundle服务
2010-10-17 15:43 15141、消费接口及其实现类 public interface U ... -
将一个Bundle注册为服务
2010-10-17 15:15 31561、创建业务接口类及其实现类 public interfac ... -
Equinox的入门范例
2010-10-16 17:37 40331、从Eclipse安装程序中找到org.eclipse.os ... -
OSGi概述
2010-10-16 17:28 2401开放服务网关协议 (Open ...
相关推荐
标题 "spring-dm_springboot管理后台模板_spring-dm_seen1bc_bootstrap框架_box5v4_" 提到的关键技术主要集中在Spring Boot、Spring DM(Spring Dynamic Modules)以及Bootstrap上,这些是构建现代化Web应用程序的...
发布服务则借鉴了Spring的ServiceExporter,V0.7版本中暂时只支持通过JNDI发布,利用JBoss JNP作为JNDI服务器,并支持Hessian和Web服务方式。 值得注意的是,如果服务应用端不是基于Spring实现,可能需要自定义...
它基于Spring-DM(Spring Dynamic Modules),这是一个为OSGi(Open Services Gateway Initiative)环境提供的扩展,使得在OSGi容器中使用Spring框架变得更加简便。Spring-DM在2008年1月29日发布了1.0版本,其稳定性...
- **Bundle 作用域**: 探讨了 Bundle 作用域的概念及其在 Spring DM 中的应用。 - **访问 BundleContext**: 介绍如何在 Bundle 中访问 BundleContext。 - **ApplicationContext 销毁**: 指导如何销毁 ...
Spring DM 1.1.x最大特性便是它可以支持在其中部署WEB应用我使用后感觉这是个很酷特性我甚 至觉得用这种方式开发基于OSGi WEB应用比使用Spring DM Server更好至少目前你可以获得更好便携性(可以 在多个Spring DM支持...
"基于OSGi和Spring开发Web应用" OSGi(Open Service Gateway Initiative)是一种面向服务的框架,能够提供动态模块部署和管理的能力。Spring 是一个轻量级的J2EE开发框架,特点是面向接口编程和非侵入式的依赖注入...
- **Web支持**:新增了对Web应用程序的支持,允许开发者更方便地部署基于Spring的Web应用到OSGi环境中。 - **类路径资源抽象**:引入了一种新的资源抽象机制,使得资源可以独立于特定的类加载器进行访问。 - **可...
在基于OSGi和Spring开发Web...通过Spring-DM,开发者可以在OSGi环境中享受到Spring的便利,构建更灵活、可维护的Web应用。这种开发方式特别适用于大型、复杂的企业级项目,因为它们通常需要高度的可扩展性和模块化。
Spring OSGi将Spring应用上下文转换为OSGi bundle,使得Spring的应用组件可以在OSGi环境中运行。 Spring OSGi的主要特点包括: 1. **动态性**:OSGi环境支持服务的动态发布和发现,Spring OSGi利用这一点,允许在...
在基于OSGi和Spring开发Web应用的过程中,首先需要指定Target Platform到所有需要用到的bundle包目录中,这是为了确保开发环境能够识别并正确加载所有必要的组件。接下来,创建一个服务接口bundle,定义接口类及其...
5. **Web Support**:Spring DM增加了对Web应用的支持,使得开发者可以更方便地在OSGi环境中部署和管理Web应用。 6. **Classpath Resource Abstraction**:引入了资源抽象层,使得开发者可以通过统一的方式访问类...
- **Spring DM**(Spring Dynamic Modules)是Spring框架的一个扩展,它结合了OSGi(Open Service Gateway Initiative)的强大功能,旨在帮助开发者在复杂的分布式环境中构建更加灵活、可扩展的应用程序。...
标题“Spring DM集成Struts2(一)”指出我们要探讨的主题是关于如何在OSGi(Spring DM,即Spring Dynamic Modules)环境中集成Struts2框架。这是一个关键的Java Web开发中的技术结合,因为它允许开发者利用Spring的...
Spring OSGi是Spring框架与OSGi(Open Service Gateway Initiative)规范相结合的一种技术,它...通过学习和掌握Spring DM Server的使用以及Spring OSGi的相关库,开发者可以更好地在OSGi环境中构建和管理Spring应用。
在本文中,我们将深入探讨如何基于VirgoServer进行Spring Osgi Web开发,这是一个涉及OSGi容器、Spring框架和Web应用程序的集成技术。首先,我们需要确保拥有正确的开发环境和工具,包括Spring Tool Suite (STS),...