在 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”,它更容易并且应该解决相对路径问题。
在单页 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”,它更容易并且应该解决相对路径问题。