[英]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 。
谢谢
如此处发布:
我需要添加:
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.