更改部署为War的Spring Boot应用程序的默认欢迎页面

我试图找到一种方法来更改作为生产环境中的战争而部署的spring-boot应用程序的默认欢迎页面,但是如果没有web.xml文件,我将找不到一种方法。

根据文档,我们可以使用带有以下代码的EmbeddedServletContainerFactory来执行此操作:

@Bean

public EmbeddedServletContainerFactory servletContainer() {

TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();

TomcatContextCustomizer contextCustomizer = new TomcatContextCustomizer() {

@Override

public void customize(Context context) {

context.addWelcomeFile("/<new welcome file>");

}

};

factory.addContextCustomizers(contextCustomizer);

return factory;

}

虽然,当我们创建一个war文件并将其部署到tomcat而不使用嵌入式Tomcat时,它没有做任何事情。

任何的想法?如果我们确实需要添加一个web.xml文件,该如何做并且仍然使用spring boot?我们是否应该将Application bean(带有main方法)指定为DispatcherServlet的应用程序上下文?该文档对此不太清楚。

较旧的Servlet容器不支持Servlet 3.0中使用的ServletContextInitializer引导过程。您仍然可以在这些容器中使用SpringSpring Boot,但是您将需要向应用程序中添加web.xml并将其配置为通过DispatcherServlet加载ApplicationContext。

提前致谢!

回答:

这并不难…你只需要转发默认映射…

@Configuration

public class DefaultView extends WebMvcConfigurerAdapter{

@Override

public void addViewControllers( ViewControllerRegistry registry ) {

registry.addViewController( "/" ).setViewName( "forward:/yourpage.html" );

registry.setOrder( Ordered.HIGHEST_PRECEDENCE );

super.addViewControllers( registry );

}

}

以上是 更改部署为War的Spring Boot应用程序的默认欢迎页面 的全部内容, 来源链接: utcz.com/qa/409452.html

回到顶部