繁体   English   中英

嵌入式Jetty的静态内容路径

[英]Path to static content with Embedded Jetty

我正在使用嵌入式Jetty来提供项目中“ public”文件夹中的静态内容:

    Server server = new Server(9999);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");

    ServletHolder staticHolder = new ServletHolder(new DefaultServlet());
    staticHolder.setInitParameter("resourceBase", "./public");
    context.addServlet(staticHolder, "/*");

    server.setHandler(context);
    server.start();
    server.join();

哪个工作正常。 但是,如果我改变

    context.addServlet(staticHolder, "/*");

   context.addServlet(staticHolder, "/ui/*");

要么

   context.addServlet(staticHolder, "/ui");

或除“ / *”以外的任何其他值,我得到404。基本上,我可以在http://127.0.0.1:9999/index.html看到我的索引页面,我想将其更改为http://127.0.0.1 :9999 / ui / index.html

谢谢

如此处发布:

从嵌入式Jetty中的备用路径提供静态文件

我需要添加:

staticHolder.setInitParameter("pathInfoOnly", "true");

这使我可以修改路径并使它正确运行:

context.addServlet(staticHolder, "/ui/*");

允许访问http://127.0.0.1:9999/ui/index.html上的静态内容

谢谢!

很好的答案雪崩。 另外,如果您投放静态内容,则应添加
staticHolder.setInitParameter("useFileMappedBuffer", "true"); 避免在Windows上锁定文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM