spingmvc框架4.0.
两种配置:
第一种:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置spring核心servlet -->
<servlet>
<servlet-name>spring</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>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>和<listener>标签都必须同时出现,缺一不可。另外,以上加红色部分部署在tomcat会报错的,错误是找不到spring-servlet.xml文件,(当然可以这样写 。*/spring-servlet.、/spring-servlet.xml)因为tomcat是找不到spring-servlet.xml文件。个人猜测,可能是classpath代表的不是整个项目路径。
如果要按照上面标红部署,必须将spring-servlet.xml放在WEB-INFO下。并且不能放到自建文件夹里面,否则也会找不到。
如图。
配置这样:
如果要放在src目录自建目录,必须在自定义的servlet下写明<init-param>参数。
目录:
配置这样:
在自建目录下的config放有srping文件,只要写classpath*就可以找得到。以上结论都是测试所得。未研究过源码。