在 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);
}
};
}
要为 contextPath
和 ResourceBase
设置什么值,以便我可以 运行 我的 index.html 在前端模块中? url 会是什么样子?
谢谢:)
Spring开机可以serve static content给你。与其尝试配置 Jetty,不如将静态内容放在 src/main/resources/static
下面,它们将直接从类路径加载。
我正在开发一个多模块 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);
}
};
}
要为 contextPath
和 ResourceBase
设置什么值,以便我可以 运行 我的 index.html 在前端模块中? url 会是什么样子?
谢谢:)
Spring开机可以serve static content给你。与其尝试配置 Jetty,不如将静态内容放在 src/main/resources/static
下面,它们将直接从类路径加载。