通过上面的例子,我们看到核心配置文件springMVC-servlet.xml必须放在WEB-INF下,文件名springMVC还一定要与web.xml里配置的servlet的名字一致。如果有多个这样的配置文件放在WEB-INF下就显得比较杂乱,可不可以放在其他地方?答案是可以的。
本示例就是要演示将springMVC-servlet.xml文件放在src/config下,并且名字修改为spring-servlet.xml,如何让程序生效去扫描src/config下的spring-servlet.xml?在web.xml里加上init-param标签,其param-name值为固定值contextConfigLocation,param-value为classpath*:config/spring-servlet.xml,如此就可以使用spring-servlet.xml。
附web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>