我有一个提供静态文件(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做出反应...