使用springMVC框架,在web.xml中配置servlet出现
配置内容:
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
项目的目录:
分析:
在WEB-INF文件下面明明有springMVC.xml配置文件,但是却找不到,这里首先考虑的是
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
配置出现问题
解决思路
1.删除初始化参数配置
<init-param>
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</init-param>
因为当不配置初始化参数时,会默认在WEB-INF下找springDispatcherServlet-servlet.xml配置文件
因此可以修改原本配置文件springMVC.xml为springDispatcherServlet-servlet.xml(注意还是在/WEB-INF下,位置不改变);再次运行,成功
2.不使用classpath:来指定路径
因为错误显示是找不到/WEB-INF/springMVC.xml配置文件,因此思考是不是classpath:不是指/WEB-INF/,因此修改代码为:
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springMVC.xml</param-value>
</init-param>
用/WEB-INF/代替classpath,然后运行成功
3.依旧使用classpath:,项目下创建conf源代码文件,然后放入配置文件
经过上面两步,发现问题是出在classpath,那么classpath到底代表什么呢?
创建conf源文件解决办法