一尘不染

标记没有可用于Tomcat会话复制的web.xml的应用程序

tomcat

我有基于Spring的应用程序,并使用编程方法(AbstractAnnotationConfigDispatcherServletInitializer)进行应用程序配置。

为了使tomcat会话复制正常工作,我需要使用中的标记“标记”可分发的应用程序,但是正如我提到的,我使用的是编程风格,例如<distributable/>``web.xml

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {

            String activeProfile = activeProfile();

            if (isNotEmpty(activeProfile)) {
                servletContext.setInitParameter("spring.profiles.active", activeProfile);
            }

            super.onStartup(servletContext);

        }
    }

我找不到有关如何使用Spring
configs进行操作的文档,因此我的问题是,是否可以在没有web.xml的情况下拥有可分发的应用程序?我无法将所有配置都移到web.xml,因此可以提供任何帮助。


阅读 263

收藏
2020-06-16

共1个答案

一尘不染

您无法通过基于Java的配置设置多个选项,其中<distributable />一个是error-pages

为此,您仍然需要一个web.xml,只需创建一个尽可能为空的web.xml并且仅包含<distributable />。其他所有内容都可以保留在基于Java的配置中。

<web-app
        version="3.0"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

    <distributable />

</web-app>
2020-06-16