哼丨丿呐 2020-04-26 13:54 采纳率: 0%
浏览 304

springboot静态资源无法找到

本地使用springboot搭建web项目,controler上添加@RequestMapping("/sys") ,当访问页面时,默认会映射 ip:port/sys/static/login.html,这个时候需要在了拦截器中配置资源映射“sys/static/**” 假如controller很多就需要配置很多的映射关系,有没有一种方法可以配置所有的映射

controller:

@Controller
@RequestMapping("/sys")
public class LoginController {

    @GetMapping(value = "/login")
    public String login(){
        System.out.println("打开登录页面");
        return "login";
    }
}

拦截器:

@Configuration
public class WebAppConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/sys/static/**","/favicon.ico")//代码访问路径
        .addResourceLocations("classpath:/static/");//实际映射地址
    }
}

当使用以下映射方式时,无效

@Configuration
public class WebAppConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**/static/**","/favicon.ico")//代码访问路径
        .addResourceLocations("classpath:/static/");//实际映射地址
    }
}

求大神指点一二

  • 写回答

1条回答 默认 最新

  • demo-sir 2023-05-11 17:50
    关注
    
    
     /**方法一: 配置文件
    * 静态资源访问目录
     * spring:
     *     web:
     *       resources:
     *       # 修改默认的静态资源目录,多个用 逗号 隔开
     *       static-locations: classpath:/static/backstage/,classpath:/templates/backstage/
    **/
      方法二:
      @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            //这里是指在url上面打的内容
            registry.addResourceHandler("/**")
                    //下面的是指可以对应resources文件下那些内容
                    .addResourceLocations("classpath:/")
                    .addResourceLocations("classpath:/templates/backstage/")
                    .addResourceLocations("classpath:/static/backstage/");
    
    
    
    
    评论

报告相同问题?