`

13. 处理静态资源(自定义资源映射)【从零开始学Spring Boot】

阅读更多

 à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

 

 

上面我们介绍了Spring Boot 的默认资源映射,一般够用了,那我们如何自定义目录? 
这些资源都是打包在jar包中的,然后实际应用中,我们还有很多资源是在管理系统中动态维护的,并不可能在程序包中,对于这种随意指定目录的资源,如何访问?

自定义目录

以增加 /myres/* 映射到 classpath:/myres/* 为例的代码处理为: 
实现类继承 WebMvcConfigurerAdapter 并重写方法 addResourceHandlers (对于

package org.springboot.sample.config;

 

import org.springboot.sample.interceptor.MyInterceptor1;

import org.springboot.sample.interceptor.MyInterceptor2;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

 

@Configuration

public class MyWebAppConfigurer

        extends WebMvcConfigurerAdapter {

 

    @Override

    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/myres/**").addResourceLocations("classpath:/myres/");

        super.addResourceHandlers(registry);

    }

 

}

访问myres 文件夹中的test.jpg 图片的地址为 http://localhost:8080/myres/test.jpg 
这样使用代码的方式自定义目录映射,并不影响Spring Boot的默认映射,可以同时使用。

如果我们将/myres/* 修改为 /* 与默认的相同时,则会覆盖系统的配置,可以多次使用 addResourceLocations 添加目录,优先级先添加的高于后添加的。

          

其中 addResourceLocations 的参数是动参,可以这样写 addResourceLocations(“classpath:/img1/”, “classpath:/img2/”, “classpath:/img3/”);

 

使用外部目录

如果我们要指定一个绝对路径的文件夹(如 D:/data/api_files ),则只需要使用 addResourceLocations 指定即可。

// 可以直接使用addResourceLocations 指定磁盘绝对路径,同样可以配置多个位置,注意路径写法需要加上file:

registry.addResourceHandler("/api_files/**").addResourceLocations("file:D:/data/api_files");

 

【视频&交流平台】

à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

  

 

网易云课堂视频最新更新

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

第十二章 Spring Boot 知识点2

1、spring boot 服务配置和部署

2、Spring Boot 定制URL匹配规则

 

 

分享到:
评论
3 楼 恨灬rumor 2018-06-07  
林祥纤 写道
恨灬rumor 写道
registry.addResourceHandler("x.jpg","login.html").addResourceLocations("classpath:/ftl/");

版主为啥我可以访问x.jpg ,而访问不到html页面?


.html 这个格式比较特殊,可能被拦截住了.. 或者需要配置controller才能进行访问到。



registry.addResourceHandler("/plugin/**","/ftl/**").addResourceLocations("classpath:/plugin/","classpath:/ftl/");我这样配置,通过http://localhost:8081/ftl/login.html 又可以访问,我奇怪啊
2 楼 林祥纤 2018-06-03  
恨灬rumor 写道
registry.addResourceHandler("x.jpg","login.html").addResourceLocations("classpath:/ftl/");

版主为啥我可以访问x.jpg ,而访问不到html页面?


.html 这个格式比较特殊,可能被拦截住了.. 或者需要配置controller才能进行访问到。
1 楼 恨灬rumor 2018-06-01  
registry.addResourceHandler("x.jpg","login.html").addResourceLocations("classpath:/ftl/");

版主为啥我可以访问x.jpg ,而访问不到html页面?

相关推荐

    从零开始学Spring Boot

    1.16 处理静态资源(自定义资源映射) 1.17 Spring Boot定时任务的使用 1.18 Spring Boot使用Druid和监控配置 1.19 Spring Boot使用Druid(编程注入) 1.20 Spring Boot普通类调用bean 1.21 使用模板(thymeleaf-...

    从零开始学Spring Boot1

    【从零开始学Spring Boot】是一本旨在帮助初学者快速入门Spring Boot的教程。Spring Boot是Spring框架的一个扩展,它简化了Java应用的初始搭建以及开发过程,通过自动配置、starter依赖等方式,使得开发者可以快速地...

    17. Spring Boot普通类调用bean【从零开始学Spring Boot】

    Spring Boot普通类调用bean【从零开始学Spring Boot】”旨在指导初学者如何在非Spring管理的类中访问和使用Spring容器中的bean。下面将详细讲解这个主题。 首先,了解Spring Boot的基础概念是必要的。Spring Boot...

    21. Spring Boot过滤器、监听器【从零开始学Spring Boot】

    在Spring Boot框架中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们可以帮助我们实现一些自定义的处理逻辑,如数据校验、日志记录、请求拦截等。下面将详细讲解这两个概念及其在实际开发中的...

    2023最新《Spring Boot基础教程》

    全网内容最全,比收费教程更好的Spring Boot免费教程! 快速入门 Spring Boot 2.x基础教程:版本关系 Spring Boot 2.x基础教程:...Spring Boot 2.x基础教程:Swagger静态文档的生成 Spring Boot 2.x基础教程:找回启动

    18.[视频]使用模板(thymeleaf-freemarker)【从零开始学Spring Boot】

    标题中的“18.[视频]使用模板(thymeleaf-freemarker)【从零开始学Spring Boot】”指的是一个视频教程,该教程聚焦于Spring Boot中模板引擎的使用,特别是Thymeleaf和FreeMarker这两种技术。Spring Boot是一个快速...

    Spring Boot 系列教程 入门

    总的来说,"Spring Boot系列教程入门"将涵盖以上知识点,并逐步教你如何从零开始搭建和运行一个完整的Spring Boot应用,包括配置、依赖管理、数据访问、Web开发和部署等方面,让你快速成为Spring Boot开发的行家里手...

    从零开始学java web

    本教程“从零开始学Java Web”旨在帮助初学者系统地掌握这一领域的基础知识,从第一章到第十七章,内容全面且详细。下面我们将逐一探讨这些章节可能涵盖的关键知识点。 第一章:Java Web入门 这一章通常会介绍Java ...

    《从零开始学JAVA》配套PPT

    《从零开始学JAVA》是一本面向初学者的优秀教程,配套的PPT旨在通过清晰易懂的方式,帮助读者逐步掌握Java编程语言的核心概念和技术。这21章的内容覆盖了从基础到进阶的全面知识体系,对于想要系统学习Java的你来说...

    从零搭建Spring Boot脚手架,增加通用的功能.docx

    本文旨在从零开始搭建一个Spring Boot项目框架(脚手架),并在此基础上增加一系列通用功能以提高开发效率及代码复用性。通过集成Spring MVC,并对其进行一定程度的定制化处理,以满足日常软件开发中的常见需求。...

    GitChatLesson-SpringBootStudy:CSDN GitChat达人课《跟武哥一起学Spring Boot》

    通过这个课程,学员将能从零开始,逐步建立起对Spring Boot的全面认知,并能独立开发出功能完备的应用。通过阅读和实践"GitChatLesson-SpringBootStudy-master"中的源代码,将有助于巩固理论知识并提升实际操作能力...

    从0到1实战,快速搭建SpringBoot工程

    在本教程中,我们将一起探索如何从零开始,逐步构建一个Spring Boot应用。Spring Boot以其简洁、快速的项目初始化和自动配置特性,已经成为Java开发领域中的首选框架之一。本实战指南将带你走过整个过程,从创建项目...

    零基础学Java.Web开发源代码

    "零基础学Java Web开发"这个资源包含了JSP(JavaServer Pages)、Servlet、Struts、Spring和Hibernate等核心技术的学习材料,这些都是构建企业级Web应用不可或缺的部分。 首先,JSP是Java平台上的服务器端脚本语言...

    初识java,用springBoot学习java.zip

    总之,"初识java,用springBoot学习java.zip"这个压缩包为你提供了一个从零开始学习Java和Spring Boot的良好起点。通过这个项目,你可以深入理解面向对象编程的基本概念,掌握Spring Boot的自动配置和快速开发能力,...

    初学spring项目(入门解读和新建项目)

    这篇博文“初学Spring项目(入门解读和新建项目)”将带你逐步走进Spring的世界,了解如何从零开始搭建一个Spring项目。 首先,让我们了解一下Spring的核心概念。Spring框架的核心包括依赖注入(Dependency Injection...

    JEECG BOOT 低代码开发平台Java项目开源源码

    通过提供可视化配置和代码生成能力,使得开发者无需从零开始编写大量重复性的基础代码,从而更专注于业务逻辑的实现。 这个开源项目基于Spring Boot框架,充分利用了Spring全家桶的优势,如Spring MVC、Spring Data...

    spring-boot-hello-world:Spring Boot 应用程序示例

    总的来说,"spring-boot-hello-world"项目为我们提供了一个简洁明了的Spring Boot应用实例,展示了从零开始创建一个简单Web应用的过程。通过这个项目,你可以学习到Spring Boot的基本架构、配置方式以及如何编写控制...

    从0开始带你手撸一套SpringBoot+Vue后台管理系统

    在本项目中,我们将一起构建一个基于Spring Boot和Vue.js的后台管理系统,这是一次从零开始的学习旅程,旨在帮助开发者全面理解这两种技术的结合应用。Spring Boot是Java领域广泛使用的微服务框架,而Vue.js则是一种...

Global site tag (gtag.js) - Google Analytics