Java 为Spring MVC和Maven WebApplication创建文件/映像文件夹目录

Java 为Spring MVC和Maven WebApplication创建文件/映像文件夹目录,java,spring,maven,spring-mvc,jakarta-ee,Java,Spring,Maven,Spring Mvc,Jakarta Ee,我正在用Maven和Spring MVC构建一个web应用程序。我决定将图像保存在一个目录文件夹中,而不是数据库中。我将保存图像到数据库的链接。在搜索之后,我发现在应用程序目录或WAR文件目录中保存图像是不好的做法,当您有许多图像时。现在,我的项目具有默认的maven目录: --src ----main ------java ------resources ------webapp ---------WEB-INF ----test 现在我的问题是: 将映像保存在应用程序目录中真的是一种不好的

我正在用Maven和Spring MVC构建一个web应用程序。我决定将图像保存在一个目录文件夹中,而不是数据库中。我将保存图像到数据库的链接。在搜索之后,我发现在应用程序目录或WAR文件目录中保存图像是不好的做法,当您有许多图像时。现在,我的项目具有默认的maven目录:

--src
----main
------java
------resources
------webapp
---------WEB-INF
----test
现在我的问题是:

  • 将映像保存在应用程序目录中真的是一种不好的做法吗
  • 如果是这样,那么我应该把我的图像文件夹放在哪里?在“src”或 在“src”外还是在“main”内
  • 我同意这是不好的做法,你的应用程序目录可以删除在重新部署等
  • 正如Deinum所建议的,将其存储在其他地方。我将添加我的spring boot应用程序配置的一部分,我使用该配置通过应用程序服务器为这些映像提供服务:

    @Component
    class WebConfigurer extends WebMvcConfigurerAdapter {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
             registry.addResourceHandler("/images/**").addResourceLocations("file://" + imageDir);
        }
    
    }
    
  • 只需将
    imageDir
    替换为存储图像的正确路径即可

  • 我同意这是不好的做法,你的应用程序目录可以删除在重新部署等
  • 正如Deinum所建议的,将其存储在其他地方。我将添加我的spring boot应用程序配置的一部分,我使用该配置通过应用程序服务器为这些映像提供服务:

    @Component
    class WebConfigurer extends WebMvcConfigurerAdapter {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
             registry.addResourceHandler("/images/**").addResourceLocations("file://" + imageDir);
        }
    
    }
    
  • 只需将
    imageDir
    替换为存储图像的正确路径即可

  • 我同意这是不好的做法,你的应用程序目录可以删除在重新部署等
  • 正如Deinum所建议的,将其存储在其他地方。我将添加我的spring boot应用程序配置的一部分,我使用该配置通过应用程序服务器为这些映像提供服务:

    @Component
    class WebConfigurer extends WebMvcConfigurerAdapter {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
             registry.addResourceHandler("/images/**").addResourceLocations("file://" + imageDir);
        }
    
    }
    
  • 只需将
    imageDir
    替换为存储图像的正确路径即可

  • 我同意这是不好的做法,你的应用程序目录可以删除在重新部署等
  • 正如Deinum所建议的,将其存储在其他地方。我将添加我的spring boot应用程序配置的一部分,我使用该配置通过应用程序服务器为这些映像提供服务:

    @Component
    class WebConfigurer extends WebMvcConfigurerAdapter {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
             registry.addResourceHandler("/images/**").addResourceLocations("file://" + imageDir);
        }
    
    }
    

  • 只需将
    imageDir
    替换为您存储图像的正确路径。

    是的,您不应该在运行时更改应用程序(这基本上就是您在其中存储文件时所做的)。将它们存储在应用程序外部的任意目录中。因此,无论是src、main还是与您的应用程序相关的任何内容。是的,您不应该在运行时更改您的应用程序(这基本上就是您在其中存储文件时所做的)。将它们存储在应用程序外部的任意目录中。因此,无论是src、main还是与您的应用程序相关的任何内容。是的,您不应该在运行时更改您的应用程序(这基本上就是您在其中存储文件时所做的)。将它们存储在应用程序外部的任意目录中。因此,无论是src、main还是与您的应用程序相关的任何内容。是的,您不应该在运行时更改您的应用程序(这基本上就是您在其中存储文件时所做的)。将它们存储在应用程序外部的任意目录中。因此,src、main或与您的应用程序相关的任何内容。WebMVCConfigureAdapter显示为不推荐。WebMVCConfigureAdapter显示为不推荐。WebMVCConfigureAdapter显示为不推荐。WebMVCConfigureAdapter显示为不推荐。