• Spring Boot +thymeleaf +IDEA,静态资源CSSJSimg 404 错误,No mapping for GET 静态资源的问题。


    1.问题描述

    使用Spring Boot +thymeleaf +IDEA开发一个新项目,启动后首页cssjs等全部404,起初分析是路径错误,但是在IDEA中使用ctrl+鼠标左键可以找到,经过各种百度、各种尝试。IDEA控制台出现警告No mapping for GET ‘XXX’,对于一个开发人而言处理一个问题时,错误出现的时候也恰恰是希望出现的时候。

    解决:

    我放弃了使用.properties配置mvc拦截器,改为使用配置类配置,问题解决。

    我的项目  目录

     1.在controller下创建文件夹config并创建

    MvcConfigController配置类,类内容如下:
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

    @Configuration
    public class MvcConfigController extends WebMvcConfigurationSupport {

    private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
    "classpath:/META-INF/resources/", "classpath:/resources/",
    "classpath:/static/", "classpath:/public/" };

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
    if (!registry.hasMappingForPattern("/webjars/**")) {
    registry.addResourceHandler("/webjars/**").addResourceLocations(
    "classpath:/META-INF/resources/webjars/");
    }
    if (!registry.hasMappingForPattern("/**")) {
    registry.addResourceHandler("/**").addResourceLocations(
    CLASSPATH_RESOURCE_LOCATIONS);
    }
    }
    }

    重启项目,问题解决。

     JS、css、图片加载正常。

    至于配置的作用详解,日后再谈。

  • 相关阅读:
    Linux中的文件特殊权限
    服务器管理
    程序图表统计知识
    EasyUI 添加tab页(iframe方式)
    打造自己的reset.css
    CI的知识点
    easyui资源
    eval解析JSON中的注意点
    如何在一个frame中调用另一个frame中的javascript函数
    Egret 摇一摇功能
  • 原文地址:https://www.cnblogs.com/XH09/p/14291635.html
Copyright © 2020-2023  润新知