第三章(二)web静态资源映射(0.5略)

工程:demo-web1,目标引入jquery-1.11.2.min.js

配置参考:https://blog.csdn.net/plei_yue/article/details/79360645

自定义资源位置和映射:

参考:https://www.cnblogs.com/xbq8080/p/7774856.html

自动配置静态资源

  • 自动配置的位置


    image.png

    静态资源放到如下位置被支持:classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources或我们把静态文件直接放到webapp下都被支持

定制静态资源位置

当我们在application.properties/yml中配置默认访问路径时,只能够访问到我们配置的访问路径。
在webapp下的目录中的静态文件就不能够进行访问

第一种方式:自动配置静态资源

在自动配置类的addResourceHandlers方法中定义了静态资源的自动配置。
Spring Boot的静态资源配置有两项

spring.mvc.static-path-pattern    配置访问路径 默认/**
spring.resources.static-locations 静态资源文件位置

默认的官方配置如下:
spring.mvc.static-path-pattern=/**
spring.resources.static-locations= classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources
我们当然可以把js,css放到上述默认路径下,比如我们把jquery的文件放到src/main/resource/static/js/下。

修改上节课的hello.jsp, 增加如下代码

<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.11.2.min.js"></script>
<script>
$(function(){
alert("jquery调用 ");
})
</script>

输入网址测试一下:http://localhost/haha/hello2

一般情况下,默认的静态资源访问路径就能满足我们的需求,当然我们也可以自定义静态资源的路径:
如果想更改默认配置,参考以下:(学生完成编写和测试)

第二种 自定义静态资源位置(修改application.properties默认配置)

spring.mvc.static-path-pattern=/js/**
spring.resources.static-locations=classpath:/js/

第三种 自定义资源映射实现方式(推荐)

自定义一个配置类,实现WebMvcConfigurer接口
重写addResourceHandlers方法
通过addResourceHandler添加映射路径(对外访问路径)
通过addResourceLocations来指定文件存放路径
重写addResourceHandlers方法,并不会覆盖配置文件中的配置

package com.neuedu.demo.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class MyMvcConfig implements WebMvcConfigurer{

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
  //如下配置,js文件放到webapp/js下
  //测试方法http://localhost:8080/js/test1.js
  //registry.addResourceHandler("/js/**").addResourceLocations("classpath:/js/");

}
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容