介绍
介绍
福哥今天带着大家了解一下SpringBoot如何处理静态资源文件的。静态资源文件包括CSS样式表、图片文件(jpg、png、gif)、JavaScript脚本以及各种媒体、压缩包等等内容,总结一句话就是非配置文件、非Java的文件。
静态资源文件是不需要经过编译、执行的,最好的处理方式是通过Nginx直接处理。但是我们在开发调试阶段是没有Nginx服务器的,只能通过Tomcat进行处理,这时候就需要了解一下如何在SpringBoot项目里面处理这些静态的资源文件了。
目录
目录
SpringBoot给我们预留了资源文件的根目录,就是main下面的resources,和java在同一目录下。然后,如果我们在resources下面建立staitc、public、resources这几个目录的话,最后都会被SpringBoot当作静态目录使用。
优先级
如果我们在static、public、resources里面建立了同样的目录结构,放入了同名的文件,那么最后哪个目录下面的文件会被使用呢?
记住下面这个优先级顺序,就好办了!
resources > static > public
虽然resources的优先级是最高的,不过福哥还是推荐使用static这个目录名称,比较这个单词更加符合我们放入的文件的意思嘛~~
测试
index.ftl
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> <link type="text/css" href="/css/index.css" rel="stylesheet" /> <script type="text/javascript" src="/js/index.js"></script> </head> <body> <h3>福哥的demo</h3> <p> 这是福哥的一个demo项目,用来给大家做教程使用! </p> <span id="browser"></span><br /> <span>http://demo.tongfu.net/</span> </body> </html>
index.css
body{ font-size: 12px; }
index.js
document.onreadystatechange=function(){ document.getElementById('browser').innerHTML = navigator.appName; };
认证
如果我们的项目有认证设计,那么就需要针对静态的资源文件进行“免认证”设置,这个可以通过antMatchers进行配置,可以通过“*”通配符进行批量设置。
security .csrf().disable() .authorizeRequests() .antMatchers("/css/*", "/images/*", "/js/*").permitAll() .anyRequest() .authenticated() .and() .httpBasic() ;
总结
今天福哥带着童鞋们学习了如何在SpringBoot框架里面处理静态资源文件。我们可以使用freemarker去处理页面html,在html里面引用这些静态资源文件,综合这些就可以满足web平台的开发需求了!