龙空技术网

SpringBoot处理静态资源文件的方法

同福编程 67

前言:

如今小伙伴们对“nginx处理静态资源”大概比较重视,朋友们都想要学习一些“nginx处理静态资源”的相关知识。那么小编在网络上汇集了一些有关“nginx处理静态资源””的相关内容,希望看官们能喜欢,各位老铁们快快来学习一下吧!

1. 介绍

1.1 介绍

福哥今天带着大家了解一下SpringBoot如何处理静态资源文件的。静态资源文件包括CSS样式表、图片文件(jpg、png、gif)、JavaScript脚本以及各种媒体、压缩包等等内容,总结一句话就是非配置文件、非Java的文件。

静态资源文件是不需要经过编译、执行的,最好的处理方式是通过Nginx直接处理。但是我们在开发调试阶段是没有Nginx服务器的,只能通过Tomcat进行处理,这时候就需要了解一下如何在SpringBoot项目里面处理这些静态的资源文件了。

2. 目录

2.1 目录

SpringBoot给我们预留了资源文件的根目录,就是main下面的resources,和java在同一目录下。然后,如果我们在resources下面建立staitc、public、resources这几个目录的话,最后都会被SpringBoot当作静态目录使用。

2.2 优先级

如果我们在static、public、resources里面建立了同样的目录结构,放入了同名的文件,那么最后哪个目录下面的文件会被使用呢?

记住下面这个优先级顺序,就好办了!

resources > static > public

虽然resources的优先级是最高的,不过福哥还是推荐使用static这个目录名称,比较这个单词更加符合我们放入的文件的意思嘛~~

3. 测试

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>;/span></body></html>

index.css

body{    font-size: 12px;}

index.js

document.onreadystatechange=function(){    document.getElementById('browser').innerHTML = navigator.appName;};
4. 认证

如果我们的项目有认证设计,那么就需要针对静态的资源文件进行“免认证”设置,这个可以通过antMatchers进行配置,可以通过“*”通配符进行批量设置。

security        .csrf().disable()        .authorizeRequests()        .antMatchers("/css/*", "/images/*", "/js/*").permitAll()        .anyRequest()        .authenticated()        .and()        .httpBasic()        ;
5. 总结

今天福哥带着童鞋们学习了如何在SpringBoot框架里面处理静态资源文件。我们可以使用freemarker去处理页面html,在html里面引用这些静态资源文件,综合这些就可以满足web平台的开发需求了!

标签: #nginx处理静态资源