在 grizzly 中以根目录服务 index.html 页面

Serve the index.html page at root in grizzly

在单页 Web 应用程序场景中,如果我在 /static 路由上提供所有静态文件:

server.getServerConfiguration().addHttpHandler(new StaticHttpHandler("src/main/webapp"), "/static");

其中 webapp 目录包含我所有的 *.js*.css 文件以及 index.html.

如果 /static/,我如何才能在 / 上提供 index.html

你试过了吗:

server.getServerConfiguration().addHttpHandler(new StaticHttpHandler("src/main/webapp"), "/");

即使您可以像这样实现它:

server.getServerConfiguration().addHttpHandler(new StaticHttpHandler("src/main/webapp"), "/static", "/index.html");

但在那种情况下,"index.html" 可以从“/index.html”、“/static/index.html”、“/static/”访问,它将是在 index.html 文件中维护相对路径非常困难。

我建议实施额外的 "forwarder" HttpHandler,它将转发“/index.html”请求到“/static/index.html”,它更容易并且应该解决相对路径问题。