更改部署为War的Spring Boot应用程序的默认欢迎页面
我试图找到一种方法来更改作为生产环境中的战争而部署的spring-boot应用程序的默认欢迎页面,但是如果没有web.xml文件,我将找不到一种方法。
根据文档,我们可以使用带有以下代码的EmbeddedServletContainerFactory来执行此操作:
@Beanpublic 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引导过程。您仍然可以在这些容器中使用Spring和Spring Boot,但是您将需要向应用程序中添加web.xml并将其配置为通过DispatcherServlet加载ApplicationContext。
提前致谢!
回答:
这并不难…你只需要转发默认映射…
@Configurationpublic 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