最近在做springboot 项目遇到静态资源访问问题,在这里记录下,可以给他人参考避免踩坑
问题点:sprignboot项目创建时默认自动创建静态资源文件夹resources/static和resources/templates,默认可直接访问静态资源路劲有四类:
/static,/public,/resources,/META-INF/resources。但是我现在想先访问templates路劲下的静态资源,同时该静态资源里面引用了static里面的js文件,如何访问。
解决思路:添加静态资源文件映射路径
项目结构如下:
访问静态资源目录如下:
目的:想浏览器访问login.html页面可以正常访问,不会报404,假设tomcat端口为8080.默认无项目名,浏览器访问地址应该是:
localhost:8080/templates/system/login/login.html,能够正常访问。
遇到的坑:1:首先springboot 默认可以直接访问的静态资源不包含templates这个文件夹
2:比如上面的查找jquery js 文件,springboot 默认访问地址是:localhost:8080/webFrames/jquery/jquery.min.js,向上面的写法:页面请求的路径是:localhost:8080/static/webFrames/jquery/jquery.min.js
解决办法:
重写springboot默认的映射方法
再次启动的时候就可以正常访问了,但是实际做项目的时候肯定不可能直接对所有资源直接访问,需要加过滤器是否有查看页面的权限配置。