我们正在尝试通过OSGI KARAF中的servlet访问静态内容。这里没有选择使用spring的选项,因此我们只能使用servlet。 我们正在尝试通过使用码头的默认servlet来做到这一点。
<servlet>
<servlet-name>DefaultServlet</servlet-name>
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DefaultServlet</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
但是当容器调用defaultServlet对象时,我在日志中遇到了异常。
Caused by: java.lang.IllegalArgumentException: The servletContext ServletContext@HttpServiceContext{httpContext=WebAppHttpContext{dashboard - 423}} org.ops4j.pax.web.service.jetty.internal.HttpServiceContext$SContext is not org.eclipse.jetty.server.handler.ContextHandler$Context
at org.eclipse.jetty.servlet.DefaultServlet.initContextHandler(DefaultServlet.java:366) ~[?:?]
at org.eclipse.jetty.servlet.DefaultServlet.init(DefaultServlet.java:174) ~[?:?]
at javax.servlet.GenericServlet.init(GenericServlet.java:244) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:637) ~[?:?]
我能获得关于如何在OSGI KARAF上的Jetty Web服务器上访问静态资源的任何建议