在一个完整的项目里搭建springmvc框架的时候, 通常情况下,初学者在配置的时候,总是会把"中央控制器的名字"-servlet.xml文件放到/Webroot/WEB-INF下。而在真正的开发中,需要给配置文件(.xml)存放到一个与src同级的源码文件夹(source Folder)config中,这样有利于后期的维护与调整。下面来对这两种不同的配置方式做详细说明。
当开发者直接把.xml文件放入config文件夹而作任何更改的时候,系统就会报500错“
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/springmvc-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/springmvc-servlet.
因为,系统会默认去/Webroot/WEB-INF下找中央控制器的名字"-servlet.xml文件的,所以我们有必要在配置中央控制器中的<servlet></servlet>添加:
<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value>//classpath:后的名字是自己配置的xml文件的名字 </init-param>