SpringBoot3 解决NoResourceFoundException: No static resource favicon.ico.异常
spring boot3项目中浏览器中访问报错找不到favicon.ico,虽然不影响使用,用api工具也可以忽略这个异常,但是防止浏览器访问时出现异常干扰日志,所以在此自己处理一下。
SpringBoot3中关闭favicon.ico的配置已过时,配置无效了
spring.mvc.favicon.enabled=false (过时的配置)
这个情况有人去Github提了issue,但是Spring开发老哥说了这个不是bug,那就只能自己解决了。
解决方案
第一种是放置一个favicon.ico文件到项目中,但是本次针对独立的后端开发,不需要favicon.ico,所以不考虑这种方式。
方式二
忽略favicon.ico请求
package com.zaoshan.server.config; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.boot.SpringBootConfiguration; import org.springframework.http.HttpStatus; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * @Author: ZhangWeinan * @Description: * @date 2024-05-17 16:19 */ @SpringBootConfiguration public class FaviconConfiguration implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new HandlerInterceptor() { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { if (!"GET".equalsIgnoreCase(request.getMethod()) || !request.getRequestURI().toString().equals("/favicon.ico")) { return true; } response.setStatus(HttpStatus.NO_CONTENT.value()); // 设置状态码为204 No Content return false; } }).addPathPatterns("/**"); } }
还没有评论,来说两句吧...