【问题标题】:Force load of web.xml before Spring WebApplicationInitializer classes在 Spring WebApplicationInitializer 类之前强制加载 web.xml
【发布时间】:2015-08-17 20:37:44
【问题描述】:

如何确定 Web 应用程序中的 web.xml 在任何 Spring WebApplicationInitializer 类之前加载?

来自WebApplicationInitializerJavadoc

WEB-INF/web.xmlWebApplicationInitializer不能互相使用 独家的;例如,web.xml 可以注册一个 servlet,以及一个 WebApplicationInitializer 可以注册另一个。初始化器可以 甚至可以通过以下方法修改在 web.xml 中执行的注册 ServletContext.getServletRegistration(String)...

因此,根据这个我可能会假设 web.xml 在任何 WebApplicationInitializer 类之前加载。我没有观察到这种情况。

我正在提供WebApplicationInitializer 的实现,我想要在代码中执行以下操作,以便如果 servlet 已经在 web.xml 文件中注册了,那么我不会尝试第二次注册:

@Override
public void onStartup(ServletContext servletContext) {

    if(servletContext.getServletRegistration(MY_SERVLET_NAME) == null) {
        // Servlet not already registered in web.xml so register it now
        servletContext.addServlet(..etc)
    }
}

【问题讨论】:

    标签: spring spring-4


    【解决方案1】:

    我的错。我的if 检查错误,导致我认为 web.xml 是在之后加载的。作为参考,我会留下这个问题,但排序似乎是 web.xml 首先是任何 WebApplicationInitializer 类。

    【讨论】:

      猜你喜欢
      • 2014-10-12
      • 2015-03-08
      • 2017-03-29
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      相关资源
      最近更新 更多