使用嵌入式Jetty访问静态内容的java路径
我使用嵌入式Jetty提供项目中“公共”文件夹中的静态内容:
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
谢谢
# 1 楼答案
如下所示:
Serving static files from alternate path in embedded Jetty
我需要补充:
允许我修改路径并使其正确运行:
允许在http://127.0.0.1:9999/ui/index.html访问静态内容
谢谢
# 2 楼答案
很好的回答雪崩。 此外,如果您提供静态内容,则应添加
staticHolder.setInitParameter("useFileMappedBuffer", "true");
为了避免Locked Files on Windows