1

我最近一直在学习OSGI,在使用STS 3.1 + virgo tomcat server 3.6 构建web bundle时遇到了这个问题,任务很简单,只需要部署我的bundle并显示一个jsp页面,有一些那里有很好的教程,但他们基本上都使用spring来做到这一点,我在为OSGI配置spring MVC时遇到了一些困难,我尝试访问的jsp文件一直给我404错误,所以我决定从头开始重建并希望找到实验失败的原因,首先应该是显示一个没有spring的jsp页面,但是如果我只是导入一些javaweb相关的包,设置Web-ContextPath,在web-info文件夹下放一个jsp文件,404错误是还在那里,我不知道还能做什么,有人能告诉我可能是什么原因造成的吗?应该

我已将此脚本附加到我的 web.xml 中,就像其中一个示例所示(有人可以告诉我它有什么作用吗?)

    <context-param>
    <param-name>contextClass</param-name>
    <param-value>org.eclipse.virgo.web.dm.
    ServerOsgiBundleXmlWebApplicationContext
    </param-value>
    </context-param>

我的 manifest.MF 看起来像这样:

Manifest-Version: 1.0
Bundle-ClassPath: WEB-INF/classes
Web-ContextPath: /osgitest
Import-Package: 
javax.servlet;version="[3.0.0,3.0.0]",
javax.servlet.http;version="[3.0.0,3.0.0]",
javax.servlet.jsp;version="[2.2.0,2.2.0]",
javax.servlet.jsp.el;version="[2.2.0,2.2.0]",
javax.servlet.jsp.jstl.core;version="[1.2.0.v20110728,1.2.0.v20110728]",
org.eclipse.virgo.web.dm;version="[3.6.0.RELEASE,3.6.0.RELEASE]",
org.slf4j;version="[1.7.2,1.7.2]"
Bundle-SymbolicName: c2c.osgitest.web
Bundle-Version: 1.0.0

我正在使用

http://localhost:8080/osgitest/login.jsp

任何建议将不胜感激!

4

1 回答 1

-1

所以我决定从头开始重建,希望能找到实验失败的原因。首先要做的应该是显示一个没有 Spring 的 JSP 页面。

如果 Spring 只是一个选项(并且可以接受其他解决方案),我建议使用 Eclipse IDE、WebSphere Developer ToolsWebSphere Liberty Profile

在 Eclipse IDE 中,OSGi Bundle Project使用Web 3.0支持创建,然后添加 JSP 页面。当你运行它时,它应该可以工作。您可能希望将捆绑包的配置(主要是 META-INF/MANIFEST.MF)与您的配置进行比较(然后决定也许利用 Spring)。

于 2013-03-11T01:54:59.003 回答