SpringMVC中web.xml的servlet-name的设置

今天意外的发现web.xml中 servlet-name 的设置有着细节的地方,以往设置springmvc.xml(springmvc可换成其他名字只要是springmvc配置文件就好)总是默认保存在/web-inf 下,今天换成在src目录下就报错了,往复尝试几次后有以下发现:

(1)当你的springmvc没有放在/web-inf 目录时:
如图:我放在src下
SpringMVC中web.xml的servlet-name的设置_第1张图片

此时:servlet-name的名字(这里是springmvc)可以和springmvc配置文件的名字不一样(spring-mvc),另外springmvc配置文件的名字也不用写成 名字-servlet ,就像(spring-mvc-servlet.xml)
SpringMVC中web.xml的servlet-name的设置_第2张图片
但是,此时需要在web.xml文件中配置路径信息:

 
	     contextConfigLocation
	     classpath:spring-mvc.xml
	  

运行没问题:
SpringMVC中web.xml的servlet-name的设置_第3张图片

如果是在默认路径下,就是在 web-inf路径下,如图:
SpringMVC中web.xml的servlet-name的设置_第4张图片
当我运行时明显报错了:
这里写图片描述

将名字spring-mvc改成springmvc-servlet后,运行,则成功了:
SpringMVC中web.xml的servlet-name的设置_第5张图片
即在默认路径下,springmvc的配置文件的名字格式要类似 名字-servlet 这样的,而且,名字跟web.xml中的servlet-name的取名要一致。另外,因为是在默认路径下,所以web.xml文件中就无需配置路径信息了。

你可能感兴趣的:(Spring)