Spring Boot+JSP项目中静态资源配置

Spring Boot静态资源配置说明

在 Spring Boot 中,默认情况下,一共有5个位置可以放静态资源,五个路径分别如下:

  1. classpath:/META-INF/resources/
  2. classpath:/resources/
  3. classpath:/static/
  4. classpath:/public/
  5. /

在使用IDEA创建SpringBoot项目时,默认会创建src/main/resource/static目录,即classpath:/static 目录,为了方便,可以将JSP页面所需的静态资源放到该目录下。第5个选项/的意思是对于webapp目录下的静态资源也不会被拦截,但在Spring Boot项目的默认结构中没有该目录,需要手动创建,例如使用JSP的时候就需要手动创建该目录。需要注意的是,如果同一个文件分别出现在这五个目录下,那么加载的优先级也是按照该顺序进行的。

一般情况下,使用/resource/static/目录存放页面的静态资源即可,然后可以在application.properties配置文件中对静态资源的进行配置,例如下面的配置:

# Static Resource-Filter Configuration Information
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/

其中第一行表示定义请求URL的规则。也就是如果resource/static目录下存在一个test.jpg的图片文件,能够访问它的URL为:localhost:8080/static/test.jpg

若该配置项被设置为:

spring.mvc.static-path-pattern=/**

则该图片资源的访问路径为:localhost:8080/test.jpg

第二行表示从哪里去查找静态资源,即静态资源所在的目录为resource/static目录下。

在Spring Boot中也可以使用代码的方式对Spring MVC中的配置进行设置,例如如上的静态配置设置如下:

@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }
}

JSP页面中静态资源的使用

根据以上的说明,JSP页面中的静态资源使用就比较明了了。例如我的项目中在resource/static静态资源目录下有easyui的静态资源如下:

同时在application.properties配置文件中对静态资源的配置如上不变。那么在webapp/WEB-INF/jsp目录下页面中,对静态easyui静态资源的引入即可如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>User List</title>
    <link rel="stylesheet" type="text/css" href="/static/jquery-easyui-1.7.0/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="/static/jquery-easyui-1.7.0/themes/icon.css">
    <script type="text/javascript" src="/static/jquery-easyui-1.7.0/jquery.min.js"></script>
    <script type="text/javascript" src="/static/jquery-easyui-1.7.0/jquery.easyui.min.js"></script>
    <script>
        
    </script>
</head>
发布了296 篇原创文章 · 获赞 35 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/yitian_z/article/details/104110466
今日推荐