关于SpringMVC,Web.xml监听器是否必须

我们首先来看两个配置:




    spring
    org.springframework.web.servlet.DispatcherServlet
   
    1



    spring
    *.do

 



  
     org.springframework.web.context.ContextLoaderListener
  

 


    contextConfigLocation
    classpath:config/applicationContext.xml

在项目中不配置Spring配置,spring一样可以管理项目的bean当然是在springMVC配置里面扫描或维护了bean的关联

为什么我们又建议配置spring监听器?

我们看配置里面加载spring.xml文件的两个标签,前者是在servlet里面用的  初始化标签,我们在spring的 DispatcherServlet源码中可以看到以下代码:

HttpServletBean类中(此类被DispatcherServlet所继承)

        Enumeration en = config.getInitParameterNames();
            while (en.hasMoreElements()) {
                String property = (String) en.nextElement();
                Object value = config.getInitParameter(property);
                addPropertyValue(new PropertyValue(property, value));
                if (missingProps != null) {
                    missingProps.remove(property);
                }
            }

学过servlet的应该会明白了把就是在servlet初始化时调用,比如你在前者把spring标签故意写错,启动项目不会报错,只有在访问servlet时才会报错。因为此时才加载spring配置文件。但是后者监听器如果故意在配置文件中出现检查式错误,那么启动服务器时就会报错。因为监听器在服务器启动的时候也被启动此时也就开始加载spring配置文件。





你可能感兴趣的:(web)