在 spring 引导中配置码头

configure jetty in spring boot

我正在开发一个多模块 spring 引导项目。我的项目结构看起来像

  • myProject(parent)
  • front-end
    • src/main/resources
      • frontend
        • index.html
  • rest
    • src/main/java
      • com.example
        • MyWebApp.java
      • com.example.config
        • WebAppConfig.java

我正在尝试通过将 JettyServerCustomizer 作为 bean 注入 WebAppConfig 来配置码头,如下所示

@Bean
public JettyServerCustomizer customizeJettyServer()
{
    return new JettyServerCustomizer()
    {

        @Override
        public void customize(final Server server)
        {
            ContextHandler frontEndContext = new ContextHandler();
            frontEndContext.setContextPath(""); //what should be here
            frontEndContext.setResourceBase("");//what should be here
            ResourceHandler frontEndResourceHandler = new ResourceHandler();
            frontEndResourceHandler.setWelcomeFiles(new String[] { "index.html" });
            frontEndContext.setHandler(frontEndResourceHandler);
            ContextHandlerCollection contexts = new ContextHandlerCollection();
            contexts.setHandlers(new Handler[] { frontEndContext});
            server.setHandler(contexts);
        }
    };
}

要为 contextPathResourceBase 设置什么值,以便我可以 运行 我的 index.html 在前端模块中? url 会是什么样子?

谢谢:)

Spring开机可以serve static content给你。与其尝试配置 Jetty,不如将静态内容放在 src/main/resources/static 下面,它们将直接从类路径加载。