3、如果你没有特别配置静态资源的位置,那么默认的静态资源的位置就是resource 下面的static 文件夹,毕竟不用自己新建文件夹,那么你的页面引入的静态文件可以这么写:
<script type="text/javascript" src="/js/jquery-3.4.1.min.js"></script>
4、当然就需要在static下面创建js文件夹,将jqeruy.js放在这个js文件夹下面。
5、或者你习惯于在webapp下面写静态文件,那么需要注意两个点:
1)、第一点:需要在webapp下面创建一个static文件夹(和WEB-INF同级) 然后创建js文件夹,然后把静态文件放进去
2)、第二点:引入静态文件的写法:
<script type="text/javascript" src="/static/js/jquery-3.4.1.min.js"></script>
注意上面都是没有指定静态文件的地址的,指定静态文件的地址的属性是 : spring.resources.static-locations
可以在application.properties中指定静态资源的地址,如下所示:
1 spring.resources.static-locations=classpath:*/js/,classpath:*/css/
如果不指定的,默认值有四个:Default:
classpath:/META-INF/resources/,
classpath:/resources/,
classpath:/static/,
classpath:/public/
6、使用案例,如下所示:
需要注意的是如果spring.resources.static-locations、spring.mvc.static-path-pattern配置如下的值:
1 spring.mvc.view.prefix=/WEB-INF/jsp/ 2 spring.mvc.view.suffix=.jsp 3 spring.resources.static-locations=classpath:/static/ 4 spring.mvc.static-path-pattern=/static/**
备注:
spring.mvc.static-path-pattern: spring.mvc.static-path-pattern,这个配置就是在访问静态资源的路径前面追加static关键字。比如没有设置这个配置项之前,访问静态资源http://127.0.0.1/js/jquery.bootstrap.js,加了之后就要这样访问了 http://127.0.0.1/static/js/jquery.bootstrap.js。
spring.resources.static-locations: classpath:/static,classpath:/templates,这个是用以指定存放静态资源的路径,查找静态资源时会上面的路径下面开始搜索,没有找到会返回404。
或者实现了addResourceHandlers该方法里面的所示内容,那么静态资源引用的时候,前面要加上/static/的,不然无法进行引用。
1 package com.fline.datagovern.config; 2 3 import org.springframework.context.annotation.Configuration; 4 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 5 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; 6 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 7 8 /** 9 * 10 * @author biehl 11 * 12 */ 13 @Configuration 14 public class SpringMvcWebConfigSupport implements WebMvcConfigurer { 15 16 /** 17 * 将static下面的js,css等等文件加载出来 18 * 19 * @param registry 20 */ 21 // @Override 22 // public void addResourceHandlers(ResourceHandlerRegistry registry) { 23 // registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); 24 // } 25 26 /** 27 * 默认访问的是登录界面 28 * 29 * springboot 默认的静态资源的值有四个:Default: 30 * 31 * classpath:/META-INF/resources/, 32 * 33 * classpath:/resources/, 34 * 35 * classpath:/static/,默认的静态资源的位置就是resource下面的static文件夹 36 * 37 * classpath:/public/ 38 */ 39 @Override 40 public void addViewControllers(ViewControllerRegistry registry) { 41 // 浏览器发送/请求来到login.jsp页面,不用写controller控制层的请求方法了 42 // http://127.0.0.1:8000/xxx/ 43 registry.addViewController("/").setViewName("login"); 44 } 45 46 }
引用效果,如下所示: