如何在KARAF中通过Servlet访问静态内容

时间:2018-09-24 13:37:37

标签: java jetty osgi apache-karaf

我们正在尝试通过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服务器上访问静态资源的任何建议

0 个答案:

没有答案