2013-03-07 92 views
1

我最近一直在学习OSGI,并且在使用STS 3.1 + virgo tomcat服务器3.6构建Web包时遇到了这个问题,任务很简单,只是需要部署我的包并显示一个jsp页面,这里有一些很好的教程,但他们基本上都使用spring来完成这个工作,我在配置Spring MVC for OSGI时遇到了一些困难,我试图访问的jsp文件一直给我404错误,所以我决定从头开始重新构建,希望找到失败实验的原因,首先要做的就是不用弹簧来显示一个jsp页面,但如果我简单地导入一些与javaweb相关的包,请设置Web-ContextPath,把一个jsp文件放在web-info文件夹下,404错误仍然存​​在,我不知道还有什么可以做,有人可以告诉我什么可能导致它? OSGI网络包不应该能够直接访问网页,而不是导入一堆特殊的包?OSGI网络包的奇怪问题,现在完全丢失

我追加这个剧本到我的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 

任何建议,将不胜感激!

回答

-1

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

如果春天是一个单纯的选项(和其他解决方案是可以接受的),我建议使用Eclipse IDE,WebSphere Developer ToolsWebSphere Liberty Profile

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