zoukankan      html  css  js  c++  java
  • SpringBoot 2.4与tomcat版本、图片上传访问不了

    JDK

    Spring Boot 从2.0开始就要求 Java 8 及其以上版本

    Tomcat

    一般开发中是没有感觉的,因为系统默认是自带tomcat的运行的

    Servlet 容器

    Spring Boot 能够支持下面的嵌入 Servlet 容器版本:

    名字

    Servlet 版本

    Tomcat 9.0

    4.0

    发布到服务器上运行,就会出现各种各样的问题。

    一般开始都是好好的,开始用的是tomcat8.5的版本,一切正常,运行良好。

    但是到查看图片的时候,就出现问题了。

    1、图片上传正常,服务器也有文件,运行也正常。

    2、通过http来访问,就提示500错误

    解决:

     1)虚拟路径 来重定向路径。

    说明:这个重定向其实很简单,也就是说你访问 http://localhost:8080/images/1.jpg ==> Users/xxx/upload/1.jpg

    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.WebMvcConfigurer;
    
    /**
     * 设置虚拟路径,访问绝对路径下资源
     */
    @Configuration
    public class UploadConfig implements WebMvcConfigurer {
    
        @Value("${file.staticAccessPath}")
        private String staticAccessPath;
        @Value("${file.uploadFolder}")
        private String uploadFolder;
        
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler(staticAccessPath).addResourceLocations("file:" + uploadFolder);
        }
    }

    这个文件在启动的时候就会被加载,用来处理。

    application-dev.properties

    # 上传的服务器上的映射文件夹
    file.accessPath=/images/
    #静态资源对外暴露的访问路径
    file.staticAccessPath=/images/**
    #实际文件存放位置 file.uploadFolder=/Users/xxx/upload/ ==》最后的这一个 / 不用少。

    通过这一步的处理,本地是可以通过/images来访问实际的文件,但是到了服务器上就报错。

    下面的兄弟着重说明:

    https://blog.csdn.net/qq_39025156/article/details/90055132

     从错误的提示来看,是指少了方法,Servlet一想就是tomcat的问题。从提示中的UrlPath也可以看出重定向出了问题,因为没有这个方法。

     2)更换tomcat版本

    从tomcat8.5换成tomcat9或更高版本。

    总结:不同的spring boot版本对应的jdk, tomcat版本都不太一样。

    道法自然
  • 相关阅读:
    2015年第5本(英文第4本):Death on the Nile尼罗河上的惨案
    2015年第4本(英文第3本):Godfather教父
    2015年第3本(英文第2本):Daughter of Deceit
    2015年第2本(英文第1本):《The Practice of Programming》
    2015年第1本读书行动笔记:《把你的英语用起来》
    GTD桌面2.0
    独立博客开张!有关读书、GTD和IT方面的内容将发布在新网站上
    2015计划
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/jiduoduo/p/14765398.html
Copyright © 2011-2022 走看看