当前位置:   article > 正文

SpringBoot 访问web中的静态资源_springboot 访问静态wenj

springboot 访问静态wenj

总体来讲 SpringBoot 访问web中的静态资源,有两个方式:

1、classpath 类目录 (src/mian/resource)

       classpath 即 WEB-INF 下面的 classes 目录 ,在 SpringBoot  项目中是 src/main/resource 目录。

2、ServletContext 根目录下( src/main/webapp )

 

一、SpringBoot 访问web中的静态资源

SpringBoot默认指定了一些固定的目录结构,静态资源放到这些目录中的某一个,系统运行后浏览器就可以访问到。

1、SpringBoot 默认指定的可以存放静态资源的目录有哪些?

  •       classpath:/META-INF/resources/      ## 需创建/META-INF/resources/ 目录
  •        classpath:/resources/                        ## 需创建/resources/目录
  •        classpath:/static/                               ## 工具自动生成的static目录,也是用的最多的目录
  •        classpath:/public/                              ## 需创建/public/ 目录
  •        /                                     ## 指的是 src/main/webapp/ 需创建/webapp/ 目录

      查看源码可以找到静态资源拦截的自动化的配置信息:在 WebMvcAutoConfiguration 类中的 addResourceHandlers方法。

2、在全局配置文件中自定义--修改这些默认的目录

     注意: 修改后,除配置的目录以外其他目录就不可以再访问静态资源了(SpringBoot 2.1.4 试了好像可以)

方式一:配置文件修改

YAML 文件:

  1. server:
  2. port: 80
  3. spring:
  4. resources:
  5. static-locations:
  6. - classpath:resources
  7. - classpath:static
  8. mvc:
  9. static-path-pattern: /**

properties 文件 

  1. server.port=80
  2. spring.resources.static-locations=classpath:resources,classpath:static
  3. spring.mvc.static-path-pattern=/**

第一行配置表示定义资源位置,第二行配置表示定义请求 URL 规则。

方式二:配置类修改

  1. @Configuration
  2. public class WebMVCConfig implements WebMvcConfigurer {
  3. @Override
  4. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  5. registry.addResourceHandler("/**").addResourceLocations("classpath:/static/","classpath:/aa");
  6. }
  7. }

   访问的时候就需要写完整路径 http://127.0.0.1:8080/static/abc23.jpg。

3、SpringBoot 默认的首页是放在任一个静态资源目录下的index.html   

4、SpringBoot 默认的web页面图标是放在任一静态资源目录下的favicon.ico

 

index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <h4>SpringBoot访问web中的静态资源</h4>
  9. <img src="abc23.jpg" width="300px" height="250px">
  10. </body>
  11. <script src="jquery-1.12.4.js"></script>
  12. <script type="text/javascript">
  13. $(function () {
  14. alert("hello 首页!");
  15. })
  16. </script>
  17. </html>

         

  将静态资源放在上面指定的目录中,即可访问 index.html

 

二、把静态资源打成jar包引入系统后供访问

常用的静态资源jar包的maven依赖网站http://www.webjars.org

 

把依赖配置到maven的pom.xml中,就可以在网站根目录/webjars/jquery/1.12.4/jquery.js访问到资源!

 

index.html 正常引用 js,也正常访问到。

 

参考文章:Spring Boot 静态资源访问原理解析

ends ~

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/939885
推荐阅读
相关标签
  

闽ICP备14008679号