歷史文章(文章累計500+)
《國內最全的Spring?Boot系列之一》
《國內最全的Spring?Boot系列之二》
《國內最全的Spring?Boot系列之三》
《國內最全的Spring?Boot系列之四》
《國內最全的Spring?Boot系列之五》
《國內最全的Spring?Boot系列之六》
《國內最全的Spring?Boot系列之七》
抖音主播/電商人員有福了,利用Suno創作產品宣傳,讓產品動起來-小米Su7 - 第510篇
Spring Boot整合ElasticSearch實戰 - 第511篇
Transaction rolled back because it has been marked as - 第512篇
五音不全也浪漫,521清華學霸為愛人寫歌 - 第513篇
一文講清楚SpringBoot項目打包jar后運行報錯template might not exist - 第514篇
悟纖:師傅,師傅,呼叫師傅~
師傅:徒兒又是怎么了?
悟纖:徒兒這又掉進坑里了。
師傅:爬起來不就完事了嘛~
悟纖:師傅,這個技術坑的掉進去,可不好爬出來。
師傅:那為師這就拉你一把。
悟纖:師傅趕緊的,不然徒兒要掉進無盡深淵了~
導讀
最近在開發一個AI導航項目(地址在下面)的時候,遇到了springboot woff/woff2/eot/ttf/svg等小圖標不顯示的問題。
正常的CSS、js、img文件是可以訪問的。
項目地址:http://ai.dzwlai.com/
AI導航站,匯總800+工具集合:
出現情況
在idea開發工具總,使用SpringBoot框架進行開發,當在css文件中使用到woff/woff2/eot/ttf/svg等小圖標的時候,無法正常顯示。
解決方法
情況1:資源文件未正常導入
需要在pom文件的build中加入以下代碼:
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>static/**</exclude>
</excludes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>static/**</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/libs</extdirs>
</compilerArguments>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
?
情況2:被攔截了
如果你的框架使用了一些權限框架,比如Spring Security,那么可能是某些后綴文件唄攔截了,需要配置放行。
放行的代碼如下:
.antMatchers(HttpMethod.GET, "/**/*.woff","/**/*.woff2","/**/*.eot","/**/*.ttf","/**/*.svg").permitAll()
我的情況
我這里是情況2,被攔截掉了。所以在配置文件中SecurityConfig進行了如下的配置:
httpSecurity
……
/// 過濾請求
.authorizeRequests()
// 對于登錄login 注冊register 驗證碼captchaImage 允許匿名訪問
.antMatchers("/login", "/register").permitAll()
.antMatchers(HttpMethod.GET, "/**/*.woff","/**/*.woff2","/**/*.eot","/**/*.ttf","/**/*.svg").permitAll()
// 除上面外的所有請求全部需要鑒權認證
.anyRequest().authenticated()
.and()
.headers().frameOptions().disable();
?
👉🏻👉🏻👉🏻最后大家可以收藏一下網址:
http://ai.dzwlai.com/
800+工具集合總有一個你能用到的~