快速业务通道

使用Felix和Struts2开发Web应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
ndle-id> 启动 bundle;输入命令 stop <bundle-id> 停止 bundle。如

$ start 2 , $ stop 1

卸载 bundle

若 bundle 处于 Installed 或 Resolve 状态,则直接输入命令 uninstall <bundle-id>。若 bundle 处于 Actived 状态,则先输入命令 stop <bundle-id> 停止 bundle, 再输入命令 uninstall <bundle-id>。 如 $ uninstall 1

常见问题

如何修改 bundle 的最大启动级别

在上面的示例中,bundle 中最大的启动级别只能为 3。如果在 bundles 下面 增加一个目录 4,即 bundles/4,则目录 4 中的 bundle 是无法启动的,而在很 多时候,特别是在大型的项目中,最大启动级别为 3 是不能满足要求,此时可以 web.xml 中添加启动级别的参数。如下面把最大启动级别设置为 5。

清单 9. 启动级别配置

<context-param>    <param-name>struts.osgi.runLevel</param-name>    <param-value>5</param-value>   </context-param>

解决 Bundle 中的 struts.xml 的 Struts Configuration DTD 无法定位的问 题

Struts.xml 的头部有 Struts Configuration DTD 的引用定义,一般 DTD 文 档的 URL 为 http://struts.apache.org/dtds/XXX.dtd ,示例如下所示:

清单 10. struts.xml 头部 dtd

<!DOCTYPE struts PUBLIC "-//Apache Software  Foundation//DTD Struts    Configuration 2.0//EN"  "http://struts.apache.org/dtds/struts-2.0.dtd">

使用Felix和Struts2开发Web应用(9)

时间:2011-09-04 IBM 韦景琪 邵兵 周英

如果无法连接上 http://struts.apache.org/,那么在加载 Struts 的 bundle 时也将会出错,因为 bundle 与 Web Application 的 lib 的加载路径不 一致,无法从 Web Application 的 lib 下面找到 XXX.dtd 文件。此时可以通过 修改 dtd 文件的 URL 来解决,可以改成一个本地文件系统的 URI,如 file:/c:/webapp/dtds/struts-2.0.dtd,也可以改为本地的 Web 服务器或一个 可以连接上的服务器的 URL,如 http://localhost/dtds/struts-2.0.dtd。

如何使用 Spring 进行对象管理

Spring DM 使得 Spring 和 OSGi 成为可能,在本文的开发环境中,也可以加 入 Spring DM 来管理系统中的对象。首先加入 Spring DM 必要的 jar 包,如

清单 11. Spring 依赖包示例

com.springsource.org.aopalliance-1.0.0.jar,   com.springsource.org.apache.commons.logging-1.1.1.jar,   spring-aop-2.5.5.jar,   spring-beans-2.5.5.jar,   spring-context-support-2.5.5.jar,   spring-core-2.5.5.jar,   spring-osgi-core-1.1.2.jar,   spring-osgi-extender-1.1.2.jar,   spring-osgi-is-1.1.2.jar,   spring-osgi-web-1.1.2.jar,   spring-osgi-web-extender-1.1.2.jar,   spring-web-2.5.5.jar

然后需要在 Web Application 的 struts.xml 中加入对象工厂的配置,配置 如下:

清单 12. 配置对象工厂

<constant name="struts.objectFactory"  value="osgi" />   <constant name="struts.objectFactory.delegate" value="springOsgi"  />

在 Web Application 的 web.xml 加入 Spring 的监听器 , 配置如下:

清单 13. 配置 Spring 监听器

<listener>    <listener- class>org.springframework.web.context.ContextLoaderListener    </listener-class>   </listener>   <context-param>    <param-name>contextClass</param-name>    <param-value>   org.springframework.osgi.web.context.su

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号