我正在创建一个SpringBoot Web应用程序,该应用程序在渲染带有某些静态实体(如图像)的.jsp页面时。 我尝试将静态文件添加到从 META_INF 到 static 的每个文件夹中,但是在控制台出现404错误并且图像不显示。
HTML代码如下:
<img src="image/nia-logo.png">
Spring Boot Application类如下:
@SpringBootApplication
@PropertySource("classpath:application.properties")
@EnableWebMvc
public class FeedbackApplication implements WebMvcConfigurer{
@Autowired
private Environment environment;
public static void main(String[] args) throws Exception {
SpringApplication.run(FeedbackApplication.class, args);
}
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
viewResolver.setViewClass(JstlView.class);
return viewResolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/resources/**")) {
registry.addResourceHandler("/resources/**").addResourceLocations(
"classpath:/resources/static/");
}
}
}
请帮助我,并指出我在哪里犯错。
答案 0 :(得分:2)
在addResourceHandlers配置中,它定义了将/resources/**
开头的所有调用都视为资源文件。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/resources/**")) {
registry.addResourceHandler("/resources/**").addResourceLocations(
"classpath:/static/");
}
}
所以您需要做的是将src网址更改为<img src="/resources/image/nia-logo.png">
希望这会有所帮助!快乐编码:)