我有一个提供静态文件(html,图像,css,javascript)的嵌入式Jetty服务器...

index.html是单页应用程序。

我如何配置嵌入式Jetty以在调用某个路径的情况下为index.html提供服务...例如:


http://some.server.com/->返回index.html
http://some.server.com/path->返回index.html
http://some.server.com/other/path->返回index.html
http://some.server.com/images/image.jpg->返回image.jpg

最佳答案

好的,这是我想出的解决方案...不确定它是否是最优雅的,但是可以用。

ServletContextHandler servletContextHandler = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
servletContextHandler.setContextPath("/");
servletContextHandler.setWelcomeFiles(new String[] { "index.html" });
servletContextHandler.setResourceBase(webDir);
servletContextHandler.addServlet(DefaultServlet.class, "/");


ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
errorHandler.addErrorPage(404, "/"); // return root ... being index.html
servletContextHandler.setErrorHandler(errorHandler);


我宁愿使用某种模式来处理此问题,而不是对404做出反应...

10-07 15:11