SpringBoot访问外部文件及默认路由问题

 更新时间:2022年11月16日 14:56:26   作者:跟派大星学编程  
这篇文章主要介绍了SpringBoot访问外部文件及默认路由问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringBoot访问外部文件及默认路由

1 新增配置类

package com.pibigstar.common.config;

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.WebMvcConfigurer;

import com.pibigstar.common.Constant;

@Configuration
public class WebConfig implements WebMvcConfigurer{

	/**
	 * 访问外部文件配置,访问D盘下文件
	 */
	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		//配置server虚拟路径,handler为jsp中访问的目录,locations为files相对应的本地路径     
		registry.addResourceHandler("/files/**").addResourceLocations("file:///D:upload/");  
	}
	/**
	 *	配置默认路由
	 */
	@Override
    public void addViewControllers(ViewControllerRegistry registry) {
        //将浏览器的默认行为重定向到主页
        registry.addViewController("/").setViewName("redirect:/index.htm");
        //测试页面
        registry.addViewController("/test.htm").setViewName("/test.jsp");
	}
}

2 访问

我们将test.jpg文件上传到D盘的upload文件夹后,那么在页面端访问则通过:localhost:8080/files/test.jpg

springboot访问项目外部文件配置及失效问题

springboot映射项目外部资源

配置文件:

cbs:
    filePath: file:///

配置类:

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.WebMvcConfigurationSupport;

/**
 * @description:配置访问外部文件
 * @author: Administrator
 * @date: 2019-07-10 16:17
 */
 
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
 
    @Value("${cbs.filePath}")
    private String filePath;//文件地址
 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        System.out.println("文件路径=="+filePath);
        registry.addResourceHandler("/appFile/**").addResourceLocations(filePath);
        super.addResourceHandlers(registry);
    }
}

地址:http://localhost:8080/appFile/D:/tmp/app/1.txt

访问的时候把 http://localhost:8080/appFile/ 替换成 file:///

也就是file:///D:/tmp/app/1.txt

下面是访问结果(请忽略掉乱码问题)

但是不知道为什么配置类继承WebMvcConfigurerAdapter和实现WebMvcConfigurer 接口都没有用,继承 WebMvcConfigurationSupport类才生效

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • spring boot优雅集成redisson详解

    spring boot优雅集成redisson详解

    这篇文章主要为大家介绍了spring boot优雅集成redisson详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • SpringBoot Aop 详解和多种使用场景解析

    SpringBoot Aop 详解和多种使用场景解析

    aop面向切面编程,是编程中一个很重要的思想本篇文章主要介绍的是SpringBoot切面Aop的使用和案例,对SpringBoot Aop相关知识感兴趣的朋友跟随小编一起看看吧
    2021-08-08
  • java中实现控制台打印sql语句方式

    java中实现控制台打印sql语句方式

    这篇文章主要介绍了java中实现控制台打印sql语句方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Spring容器刷新obtainFreshBeanFactory示例详解

    Spring容器刷新obtainFreshBeanFactory示例详解

    这篇文章主要为大家介绍了Spring容器刷新obtainFreshBeanFactory示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • SpringBoot整合mybatis通用Mapper+自定义通用Mapper方法解析

    SpringBoot整合mybatis通用Mapper+自定义通用Mapper方法解析

    这篇文章主要介绍了SpringBoot整合mybatis通用Mapper+自定义通用Mapper方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • java转换字符串编码格式的方法

    java转换字符串编码格式的方法

    这篇文章主要介绍了java转换字符串编码格式的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法

    IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法

    这篇文章主要介绍了IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • JAVA8如何妙用Optional解决NPE问题详解

    JAVA8如何妙用Optional解决NPE问题详解

    在Java中,null代表一个不存在的对象,如果对它进行操作就会抛出java.lang.NullPointerException异常,下面这篇文章主要给大家介绍了关于JAVA8如何妙用Optional解决NPE问题的相关资料,需要的朋友可以参考下
    2018-06-06
  • 实例详解Java8函数式接口

    实例详解Java8函数式接口

    本文给大家分析了Java8默认方法和函数式接口实例其它创建方式,需要的朋友跟着学习下吧。
    2017-11-11
  • Nacos配置中心集群原理及源码分析

    Nacos配置中心集群原理及源码分析

    这篇文章主要为大家介绍了Nacos配置中心集群原理及源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03

最新评论