SpringBoot3 解决NoResourceFoundException: No static resource favicon.ico.异常

SpringBoot3 解决NoResourceFoundException: No static resource favicon.ico.异常

码农世界 2024-06-04 后端 143 次浏览 0个评论

SpringBoot3 解决NoResourceFoundException: No static resource favicon.ico.异常

spring boot3项目中浏览器中访问报错找不到favicon.ico,虽然不影响使用,用api工具也可以忽略这个异常,但是防止浏览器访问时出现异常干扰日志,所以在此自己处理一下。

2024-05-17T16:34:27-trlhhi.png

SpringBoot3中关闭favicon.ico的配置已过时,配置无效了

spring.mvc.favicon.enabled=false (过时的配置)

这个情况有人去Github提了issue,但是Spring开发老哥说了这个不是bug,那就只能自己解决了。

2024-05-17T16:41:52-dvhtzz.png

解决方案

第一种是放置一个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("/**");
    }
}

转载请注明来自码农世界,本文标题:《SpringBoot3 解决NoResourceFoundException: No static resource favicon.ico.异常》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,143人围观)参与讨论

还没有评论,来说两句吧...

Top