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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值