我最近一直在学习OSGI,当我使用STS 3.1 + virgo tomcat服务器3.6来构建一个Web包时,我遇到了这个问题,任务很简单,只需要部署我的包并显示一个jsp页面,有一些很好的教程,但他们基本上都使用spring来做这个,我在为OSGI配置spring MVC时遇到了一些困难,我试图访问的jsp文件一直给我404错误,所以我决定从头开始重建东西希望找到失败实验的原因,首先要做的就是显示一个没有spring的jsp页面,但是如果我只是导入一些与javaweb相关的包,设置Web-ContextPath,将一个jsp文件放在web-info文件夹下, 404错误仍然存在,我不知道还能做什么,有人能告诉我可能是什么造成的吗? OSGI Web捆绑包不能直接访问网页而不是导入一堆特殊包吗?
我已将此脚本添加到我的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
任何建议都将不胜感激!
答案 0 :(得分:-1)
所以我决定从头开始重建东西,希望找到失败实验的原因。首先要做的是显示一个没有Spring的JSP页面。
如果Spring只是一个选项(其他解决方案是可以接受的),我建议使用Eclipse IDE,WebSphere Developer Tools和WebSphere Liberty Profile。
在Eclipse IDE中,使用OSGi Bundle Project
支持创建Web 3.0
,然后添加JSP页面。当你运行它时,它应该工作。您可能希望将bundle的配置(主要是META-INF / MANIFEST.MF)与您的配置进行比较(然后决定利用Spring)。