我试图找到一种方法来更改正在作为生产中的战争部署的弹簧引导应用程序的默认欢迎页面,但我可以'找到一种方法来做到这一点没有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,而不是,这个ISN什么都不做。
有什么想法?如果我们真的需要添加一个web.xml文件,我们该如何做,仍然使用spring启动?我们是否应该将Application bean(使用main方法)指定为DispatcherServlet的应用程序上下文?文件不是很清楚。
较旧的Servlet容器不支持Servlet 3.0中使用的ServletContextInitializer引导进程。您仍然可以在这些容器中使用Spring和Spring Boot,但是您需要将web.xml添加到您的应用程序,并将其配置为通过DispatcherServlet加载ApplicationContext。
提前感谢!
佩德罗
事实上,你有一个web.xml并不意味着ServletContainerInitializer不再工作。只需使用'welcome-page'标签在文件中放置一个web.xml即可。 – 2014-09-26 11:21:29