2013-03-07 93 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也許)。