SpringBoot之靜態資源放行


為了提高開發效率,編寫對應的代碼生成器。代碼生成器主要有兩個方面,一個是在線Web,另外一個是運行某個類。

使用的技術是SpringBoot+MyBatis-Plus+MySQL+JDK8。

在編寫在線代碼生成器的時候,正好遇到一個小問題,那就是靜態資源無法訪問。

以SSM(Spring+SpringMVC+MyBatis/MyBatis-Plus)框架來說,通常要想對靜態資源放行,最簡單直接的辦法是使用*.do。

如果你不想使用*.do,那么可以嘗試下面兩種方法?

第一種方法

在spring-mvc.xml中配置如下:

   
<mvc:default-servlet-handler/>

光這樣還不夠,如果是不起作用,你還需要在web.xml配置如下:

<!-- 靜態資源文件的引入 -->

 <servlet-mapping>

  <servlet-name>default</servlet-name>

  <url-pattern>*.js</url-pattern>

 </servlet-mapping>

 <servlet-mapping>

  <servlet-name>default</servlet-name>

  <url-pattern>*.css</url-pattern>

 </servlet-mapping>

 <servlet-mapping>

  <servlet-name>default</servlet-name>

  <url-pattern>*.png</url-pattern>

 </servlet-mapping>

  <servlet-mapping>

  <servlet-name>default</servlet-name>

  <url-pattern>*.jpg</url-pattern>

 </servlet-mapping>

第二種方法

對指定目錄放行,通常也是修改spring-mvc.xml,請參考:

<!-- 對指定目錄下的靜態資源放行 -->

<mvc:resources location="/images/" mapping="/images/**"/>

<mvc:resources location="/css/" mapping="/css/**"/>

<mvc:resources location="/js/" mapping="/js/**"/>

如果是使用SpringBoot的話,該如何配置靜態資源放行呢?

一般情況下,SpringBoot+模板語言(jsp+freemarker等)開發。

但是有部分開發者為了實現前后端分離(這是一種變相的分離),將靜態資源放在src/main/resources目錄下。

放在這個目錄下是無法訪問的,如果要想訪問,需要配置。

WebConfig.java

package com.acs.springboot.config;



import java.util.concurrent.TimeUnit;



import org.springframework.context.annotation.Configuration;

import org.springframework.http.CacheControl;

import org.springframework.web.bind.annotation.ControllerAdvice;

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;







@ControllerAdvice

@Configuration

public class WebConfig extends WebMvcConfigurerAdapter {





    @Override

    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        //靜態資源放行

        registry.addResourceHandler("/view/**").addResourceLocations("classpath:/view/");

    }

}

效果圖如下:

 

 

參考(均來自我個人的博客園):

JavaWeb在線代碼生成器:https://www.cnblogs.com/youcong/p/9494892.html

MP實戰系列(六)之代碼生成器講解:https://blog.csdn.net/suijiarui/article/details/51360980


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM