如何使用JSP支持将Jetty作为OSGI包启动?

时间:2014-06-27 06:54:48

标签: jsp jetty osgi

我使用Felix框架将Jetty 9.2作为osgi包运行。在命令提示符下,Apache Felix启动了

java -Djetty.home=C:/osgiJars/jetty-osgi-boot-9.2.0.M0/jettyhome -jar bin/felix.jar

我的码头回家如下

enter image description here

启动felix框架后,在命令提示符下,我可以看到我的包列表已加载到ACTIVE状态。

enter image description here

现在,我正在尝试将一个示例Web应用程序(JSP + Servlets)作为OSGi bundle加载。我收到一个错误(在cmd提示符下)

g! 2014-06-27 11:56:03.129:INFO:/WebApp:qtp31392457-30: No JSP support.  Check that JSP jars are in
lib/jsp and that the JSP option has been specified to start.jar

我知道要配置JSP支持,你需要在启动Jetty服务器时设置选项,如 JETTY.OPTIONS = Server,jsp

所以,我尝试将Jetty置于家中,如

java -Djetty.home=C:/osgiJars/jetty-osgi-boot-9.2.0.M0/jettyhome -Djetty.options=Server,jsp -jar bin/felix.jar

但仍然得到同样的错误。在这种情况下,任何人都建议我如何配置我的JSP ..?

1 个答案:

答案 0 :(得分:0)

虽然有两个OSGi HttpService支持框架等等,但从未试图为此运行jetty Standalone。这些是OPS4j Pax Web和Felix HttpService,因为我有点偏见,看看Pax Web。它确实提供了开箱即用的所有功能,并经过测试。它还使用Jetty作为底层服务器。还有很多samples可以使用它。或者,如果需要integration tests,以显示如何实际使用它 Pax Web本质上是OSGi的模块化,所以如果您只需要一个HttpService,您将只使用所需的Pax-Web-API,Pax-Web-SPI,Pax-Web-Runtime和Pax-Web-Jetty- Bundle(已包含Jetty包)或者首选包含Pax-Web-Jetty + jetty包。如果你想使用JSP,添加它的支持包(那将是Pax-Web-JSP),也许是添加白板支持并且你已经设置(Pax-Web-Extender-Whiteboard)。如果需要,你也可以使用战争/ wabs(Pax-Web-Extender-War)。