SpringBoot虚拟路径映射

news2024/11/19 8:40:13

要求:访问:127.0.0.1/image/下的文件时,自动映射到真实路径:D:Files\。

virtualFileDepositPath: /image/**
realityFileDepositPath: C:\Users\xin\Desktop\imgCreate\Files\
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
 * 图片绝对地址与虚拟地址映射
 */

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Value("${realityFileDepositPath}")
    private String realityFileDepositPath;

    @Value("${virtualFileDepositPath}")
    private String virtualFileDepositPath;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler(virtualFileDepositPath)
                .addResourceLocations("file:" + realityFileDepositPath);
    }
}

这个Java类和重写的addResourceHandlers方法是用来实现Spring MVC中的虚拟路径映射功能的。

具体来说:

  1. 这个类继承了WebMvcConfigurerAdapter,这是一个Spring MVC的配置适配器类。
  2. 重写了addResourceHandlers方法,这个方法用来配置静态资源的处理。
  3. 在方法中,使用了registry.addResourceHandler来关联一个虚拟路径virtualFileDepositPath和一个实际磁盘路径realityFileDepositPath。
  4. 这样就实现了一个虚拟路径到实际磁盘路径的映射。
  5. 当外部用户访问虚拟路径时,会被映射到实际磁盘路径去查找资源。
  6. 这样可以隐藏真实文件的磁盘位置,并可以灵活重新组织文件目录结构。
  7. 对外部用户来说,只需要访问不变的虚拟路径就可以访问到文件资源,无需关心实际存放位置。

总之,这个类实现了Spring MVC中虚拟路径映射的功能,通过配置可以映射虚拟路径到实际磁盘路径,从而隐藏具体文件位置,改善外部访问方式。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/955886.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

整理的10个更好用的画图软件,设计绘图必看!

随着设计工作的不断发展,画图也成了设计师日常的设计工作之一,今天本文整理了10个好用的画图软件,能满足设计师的多种画图需求,一起来看看吧! 1、即时设计 即时设计做为一个功能多样的画图软件,不仅可以满…

DPDW01+ 国产锂电池保护电路

描述: DPDW01是一个锂电池保护电路,为避免锂电池因过充电、过放电、电流过大导致电池寿命缩短或电池被损坏而设计的。它具有高精确度的电压检测与时间延迟电路。 主要特点: 工作电流低; 过充检测 4.3V,过充释放 4.0…

Shell - 根据PID过滤进程信息

文章目录 #!/bin/bash #Function: 根据用户输入的PID,过滤出该PID所有的信息 read -p "请输入要查询的PID: " P nps -aux| awk $2~/^$P$/{print $11}|wc -l if [ $n -eq 0 ];thenecho "该PID不存在!!"exit fi echo "…

TikTok成旺季“主战场”,大促节点一览无遗

随着海外短视频的兴起,拥有10亿月活用户的TikTok已经成为旺季大促的主要营销渠道。从TikTok上的话题标签,可以看出用户对节日及大促节点的关注度,借势飙升的话题流量是大促营销的重要方式之一。数据显示,2023上半年的斋月期间&…

【Java 动态数据统计图】动态X轴二级数据统计图思路案例(动态,排序,动态数组(重点推荐:难))八(130)

需求: 1.有一组数据集合,数据集合中的数据为动态; 举例如下: [{province陕西省, city西安市}, {province陕西省, city咸阳市}, {province陕西省, city宝鸡市}, {province陕西省, city延安市}, {province陕西省, city汉中市}, {pr…

飞腾PSPA可信启动--2 数字签名证书

今天继续第二章,数字签名证书的介绍。 此章节录制了讲解视频,可以在B站进行观看:

PMP - 敏捷 3355

三个核心 产品负责人 负责最大化投资回报(ROI),通过确定产品特性,把他们翻译成一个有优先级的列表 为下一个 sprint 决定在这个列表中哪些应该优先级最高,并且不断调整优先级以及调整这个列表 职责是定义需求、定义…

探索软件架构与网络通信协议:构建现代网络应用

文章目录 1. 软件架构:构建应用的基石1.1 C/S架构:客户端/服务器1.2 B/S架构:浏览器/服务器 2. 网络通信协议:构建连接的桥梁2.1 4层模型:数据的分层传输2.2 IP地址与端口号:标识和定位 3. TCP通信&#xf…

Java的数组是啥?

1.数组是啥? 数组是一块连续的内存,用来存储相同类型的数据 (1)如何定义数组? 1.int[] array {1,2,3,4} new int[]{1,2,3,4};//这里的new是一个关键字,用来创建对象 2.数组就是一个对象 动态初始化 …

[论文笔记]DSSM

引言 这是DSSM论文的阅读笔记,后续会有一篇文章来复现它并在中文数据集上验证效果。 本文的标题翻译过来就是利用点击数据学习网页搜索中深层结构化语义模型,这篇论文被归类为信息检索,但也可以用来做文本匹配。 这是一篇经典的工作,在DSSM之前,通常使用传统机器学习的…

【附安装包】Eplan2022安装教程

软件下载 软件:Eplan版本:2022语言:简体中文大小:1.52G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.5GHz 内存4G(或更高)下载通道①百度网盘丨64位下载链接:https://pan.baidu.co…

市场中做到低买高卖,其实很简单,FPmarkets澳福10秒教会

所有人都在告诉你,低买高卖就可以在市场大杀四方,但是没有人告诉你,如何在风云莫测的市场中做到低买高卖。其实很简单,FPmarkets澳福10秒钟教会,如果不好使,帮你账户充值1000块钱。 投资者都知道外汇报价在…

Metinfo6.0.0任意文件读取【漏洞复现】

文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现代码审计漏洞点 1.5、深度利用EXP编写 1.6、漏洞挖掘1.7修复建议 1.1、漏洞描述 漏洞名称:MetInfo任意文件读取 漏洞简介:MetInfo是一套使用PHP和MySQL开发的内容管理系统,其…

C++11 智能指针详解

C 程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己 管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C11 中引入了智能指针的 概念,方便管理堆内存。使用普通指针&…

耕地单目标语义分割实践——Deeplab3+语义分割

耕地单目标语义分割实践系列文章: [1*] 语义分割实践数据集制作—以Sentinel-2 MSI数据为例_doll ~CJ的博客-CSDN博客 [2*] 耕地单目标语义分割实践——Pytorch网络过程实现理解_doll ~CJ的博客-CSDN博客 [3*] 基于Pytorch的神经网络部分…

RocketMQ-(8-1)-EventBridge-EventBridge 核心概念

RocketMQ EventBridge 核心概念 理解EventBridge中的核心概念,能帮助我们更好的分析和使用EventBridge。本文重点介绍下EventBridge中包含的术语: EventSource:事件源。用于管理发送到EventBridge的事件,所有发送到EventBridge中…

【ES】elasticsearch8.3.3

这里仅实践操作并根据实际问题进行记录笔记。 运行 ES8 我们需要在自己的电脑上安装好 Docker Desktop。接着我们运行如下的命令:出现两个异常,一个是需要使用winpty因为我使用win的docker desktop,另外一个问题是docker启动elasticsearchE…

408考研-数据结构算法-顺序表

数组 如何创建数组 我们以 Java 中创建数组为例,创建语法如下 dataType[] arrName new dataType[size];dataType: 也就是我们数组中元素的数据类型arrName:即数组名size:即数组所能容纳的元素数量new: Java 语言中的关键词 假设我们要创建一个由 10 个元素的数…

基于SSM的在线挂号系统java医院预约管理 jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目介绍 基于SSM的在线挂号系统 系统有2权限:前台…

基于SSM的服装商城系统【附源码】

【项目特色】 抽奖功能优惠劵功能物流信息功能 简介 基于SSM的服装商城系统 开发语言:Java数据库:MySQL技术:Spring、Mybaits、SpringMVC工具:IDEA/Ecilpse、Navicat、Maven 前台功能:   注册、登录、退出、商品查询、商品列…