显然,ResourceHandler停止托管文件与jetty 9 – 404未找到错误(与jetty 8一起正常工作).这是代码:
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setDirectoriesListed(true);
resourceHandler.setResourceBase("some_resource_base");
HandlerList handlerList = new HandlerList();
handlerList.setHandlers(new Handler[]{servletHandler, resourceHandler});
server.setHandler(handlerList);
server.start();
接受答案的这个问题似乎不适用于码头9 – Serving static files w/ embedded Jetty
解决方法:
假设servletHandler是ServletContextHandler
(注意:它最好不是一个真正的ServletHandler,因为它是一个内部类,不是要直接实例化)
然后永远不会调用resourceHandler,因为ServletContextHandler链末尾的DefaultServlet处理(或Default404Servlet)将始终响应,不允许resourceHandler甚至执行.
如果您有ServletContextHandler,请不要使用ResourceHandler使用ServletContextHandler中的DefaultServlet来设置和提供静态文件.