java – ResourceHandler停止托管文件与jetty 9 – 404找不到错误(与jetty 8一起正常工作)

显然,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来设置和提供静态文件.

上一篇:AVUE "productCount is not a string"


下一篇:java – 生成用于python请求获取PEM lib错误的证书