我有一个嵌入式 Jetty 服务器,提供静态文件(html、图像、css、javascript)...
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 使用react......
关于java - 带有单页应用程序的嵌入式 jetty ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399393/