首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

基于SpringDM的WEB应用开发

2008-12-24 
运行环境所需的Bundles;加入Log4j日志配置Bundles ;开发WEB应用

    Spring DM 1.1.x的最大特性便是它可以支持在其中部署WEB应用,我使用后感觉这是个很酷的特性,我甚至觉得用这种方式开发基于OSGi WEB应用比使用Spring DM Server更好,至少目前你可以获得更好的便携性(可以在多个Spring DM支持的OSGi平台上运行),并且Spring DM Server并没有提供更多的企业应用支持。

  不过对于刚使用Spring DM进行WEB应用开发的人来说,成功地配置却不是一件容易的事。以下详细的讲解一下相关配置。

  1 运行环境所需的Bundles:

  0 ACTIVE system.bundle_3.2.2.R32x_v20070118

  1 ACTIVE com.springsource.slf4j.api_1.5.0

  2 RESOLVED org.springframework.osgi.jetty.web.extender.fragment.osgi_1.0.0

  Master=46

  3 ACTIVE org.springframework.bundle.osgi.extender_1.0.1.v200803070100

  4 ACTIVE org.springframework.bundle.spring.core_2.5.5

  5 ACTIVE org.springframework.bundle.spring.web_2.5.5

  6 ACTIVE com.springsource.org.objectweb.asm_2.2.3

  7 RESOLVED osgi_log_config_1.0.0

  Master=36

  8 ACTIVE org.springframework.bundle.osgi.core_1.0.1.v200803070100

  9 ACTIVE com.springsource.slf4j.log4j_1.5.0

  10 ACTIVE org.springframework.bundle.spring_2.5.2.v200803070100

  11 ACTIVE org.springframework.bundle.spring.context_2.5.5

  12 ACTIVE javax.servlet_2.4.0.v200706111738

  13 ACTIVE org.springframework.osgi.servlet-api.osgi_2.5.0.SNAPSHOT

  14 ACTIVE com.springsource.net.sf.cglib_2.1.3

  15 ACTIVE org.springframework.bundle.spring.beans_2.5.5

  16 ACTIVE javax.servlet.jsp_2.0.0.v200706191603

  18 ACTIVE org.springframework.osgi.jetty.start.osgi_1.0.0

  19 ACTIVE org.springframework.bundle.osgi.io_1.0.1.v200803070100

  20 ACTIVE org.aopalliance_1.0.0

  21 ACTIVE org.springframework.bundle.spring.context.support_2.5.5

  23 ACTIVE com.springsource.org.aopalliance_1.0.0

  24 ACTIVE org.springframework.bundle.spring.aop_2.5.5

  25 ACTIVE com.springsource.slf4j.org.apache.commons.logging_1.5.0

  30 ACTIVE org.objectweb.asm_2.2.3

  33 ACTIVE org.mortbay.jetty.server_6.1.9

  35 ACTIVE org.mortbay.jetty.util_6.1.9

  36 ACTIVE org.springframework.osgi.log4j.osgi_1.2.15.SNAPSHOT

  Fragments=7

  37 ACTIVE org.mortbay.jetty_5.1.11.v200706111724

  43 ACTIVE org.springframework.bundle.osgi.extender_1.1.2

  44 ACTIVE org.springframework.bundle.osgi.io_1.1.2

  45 ACTIVE org.springframework.bundle.osgi.web_1.1.2

  46 ACTIVE org.springframework.bundle.osgi.web.extender_1.1.2

  Fragments=2

  47 ACTIVE org.springframework.bundle.osgi.core_1.1.2

  以上这些Bundles可以在spring dm 1.1.2的发布包中找到,以上Bundles的start level设置为2。

  2 加入Log4j日志配置Bundles

  这个Bundles的目的在于提供log4j.properties,详细做法可以参考本人的”spring osgi快速入门”

  3 开发WEB应用

  WEB应用的开发方式和普通的WEB基本上一样,只是加入一些OSGi的配置。

  大致结构如下:

  META-INF

  MANIFEST.MF

  WEB-INF

  Classes

  Lib

  Web.xml

  applicationContext.xml

  1 MANIFEST.MF配置参考:

  Manifest-Version: 1.0

  Bundle-ManifestVersion: 2

  Bundle-Name: Osgi_web_app Plug-in

  Bundle-SymbolicName: osgi_web_app

  Bundle-Version: 1.0.0

  Bundle-Vendor: ccsoft

  Import-Package: javax.servlet,

  javax.servlet.http,

  javax.servlet.resources;version="2.4.0",

  org.ccsoft.service,

  org.springframework.osgi.web.context.support;version="1.1.2",

  org.springframework.web.context,

  org.springframework.web.context.support

  Bundle-ClassPath: WEB-INF/classes/,

  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

  2 为了在web应用中使用spring dm的IoC功能,web.xml中需要加入一些特定配置,类似于使用Spring时的配置,web.xml配置参考如下:

  <?xml version="1.0" encoding="ISO-8859-1"?>

  <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"

  version="2.4">

  <display-name>Simple Osgi WebApp Bundle</display-name>

  <description>Simple OSGi War</description>

  <context-param>

  <param-name>contextClass</param-name>

  <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value>

 

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行