Uncaught SyntaxError: Unexpected token ‘<’ 文件引入异常

项目eblog。
使用技术:springboot + mybatis-plus + shiro + freemarker,页面使用layui框架,模板来源:fly社区
整合shiro实现用户的登录功能后,发现整个项目的静态资源全部失效,谷歌浏览器、ME浏览器 F12显示
在这里插入图片描述
最初以为是被shiro拦截了,因为在配置shiro之前,项目是正常的访问的,所以去shiro配置了静态文件路径可匿名访问 anon。但还是不行
shiro配置如下

    @Configuration
public class ShiroConfig {
    @Bean
    public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
        ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();
        filterFactoryBean.setSecurityManager(securityManager);
        // 配置登录的url和登录成功的url
        filterFactoryBean.setLoginUrl("/login");
        filterFactoryBean.setSuccessUrl("/user/center");
        // 配置未授权跳转页面
        filterFactoryBean.setUnauthorizedUrl("/error/403");


        Map<String, String> map = new LinkedHashMap<>();

        map.put("/res/**", "anon");

        map.put("/user/home", "authc");
        map.put("/user/set", "authc");
        map.put("/user/upload", "authc");
        map.put("/login", "anon");

        filterFactoryBean.setFilterChainDefinitionMap(map);

        return filterFactoryBean;
    }
    }

经过修改和测试之后,排除了整个方向,换火狐浏览器,提示在这里插入图片描述
好像有点头绪,但又说不出来。不太理解问题,看过一个文章说 可能是被shiro拦截后改变了文件类型,但目前来说确实不太理解。

最后通过复查代码。找到了问题在某个controller中一个请求方法的RequestMapping 处 没有写请求路径,添加上后,虽静态文件还是不可用,但未提示类型不对,此时的控制台提示 no mapping for get xxx.js , 大致就是提示找不到静态文件
在这里插入图片描述此时想起来,之前为了文件上传添加了新的静态文件路径,添加上静态文件地址后,项目运行正常,不知道是不是因为自己新增了路径的原因。至此,问题解决。在此谴责一下自己的粗心大意。

@Configuration
public class MvcConfig implements WebMvcConfigurer {

    @Autowired
    Consts consts;
    private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
            "classpath:/META-INF/resources/", "classpath:/resources/",
            "classpath:/static/", "classpath:/public/" };
    /**
     * 添加静态文件目录
     *
     * @param registry
     */
    @Override
    public 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);
        }
        //头像文件路径访问
        registry.addResourceHandler("/upload/avatar/**")
                .addResourceLocations("file:///" + consts.getUploadDir() + "/avatar/");
    }


}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐