使用springMVC框架,在web.xml中配置servlet出现

class path resource [springMVC.xml] cannot be opened because it does not exist
配置内容:

<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源文件解决办法
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐