Как я могу быть уверенным, что web.xml
в веб-приложении загружается перед любыми Spring WebApplicationInitializer классами?Принудительная загрузка web.xml до Spring WebApplicationInitializer классы
С Javadoc из WebApplicationInitializer
:
WEB-INF/web.xml
иWebApplicationInitializer
использования не являются взаимоисключающими эксклюзив; например, web.xml может зарегистрировать один сервлет, а WebApplicationInitializer может зарегистрировать другой. Инициализатор может даже изменять регистрацию, выполняемые в web.xml с помощью таких методов, как ServletContext.getServletRegistration (String) ...
Итак, в соответствии с этим я мог бы предположить, что web.xml
загружается перед любыми WebApplicationInitializer
классов. Этого я не заметил.
я обеспечиваю реализацию WebApplicationInitializer
и то, что я хочу сделать в коде заключается в следующем, так что если сервлет уже зарегистрирован в файле 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)
}
}