我有一个具有以下结构的Spring Boot应用程序:
的src
| - 主
--- | --java
--- | --resources
------ | --templates
------ | --application.properties
--- | --webapp
------ | --resources
--------- | --static
------------ | --css
------------ | --img
--------------- | --logo.jpg
------------ | --js
------------ | --favicon.ico
------ | --web-INF
--------- | --view
------------ | --index.jsp
在我的MvcConfig中,我添加了ResourceHandler,如下所示
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/resources/");
}
在我的JSP中,我可以使用
访问img文件夹中的图像<img src="<c:url value="/resources/static/img/logo.jpg" />">
尝试访问班级中的同一图像, 我尝试了以下代码:
ClassPathResource cpr = new ClassPathResource("logo.jpg");
并尝试使用图像路径的许多变体。 但是,每次我收到cpr.exists()的错误值
令人惊讶的是,当我将参数更改为favicon.ico时,我收到了真的。
我做错了什么?请解释此行为,并解释访问资源的正确方法。