Java Spring引导服务静态资源

Java Spring引导服务静态资源,java,spring,spring-boot,Java,Spring,Spring Boot,我负责spring启动应用程序。我试图用spring提供静态内容。 希望在收到与模式匹配的URL请求时提供存储在/c:/frontend/files/目录中的资源:/file/**: @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry .addResourceHandler("/file/**") .addResou

我负责spring启动应用程序。我试图用spring提供静态内容。 希望在收到与模式匹配的URL请求时提供存储在/c:/frontend/files/目录中的资源:/file/**:

 @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {

    registry
            .addResourceHandler("/file/**")
            .addResourceLocations("file:///C:/frontend/files/" );

}
但当我尝试使用此url访问此资源时:

我有这个问题

There was an unexpected error (type=Not Acceptable, status=406).
Could not find acceptable representation

听起来项目的文件夹结构是错误的

代码应该放在src/main/java下,资源(比如javascript)应该放在src/main/resources下。您有几个不同的选项,可以从中实际提供文件。在spring.io博客上有以下内容:

Spring Boot将自动添加位于以下任何目录中的静态web资源:

  • /META-INF/resources/
  • /resources/
  • /static/
  • /public/
另一个选择是使用


就我个人而言,我发现将此类文件放在
src/main/resources/public
下最容易。它对我来说总是没有任何问题。有趣的是,您可以将名为
/public
的文件夹放在项目中的任何位置,spring boot将从中提供文件。您必须非常小心,它位于
src/main/resources/public
下,但如果您使用的是maven之类的构建工具,那么当您构建.jar时,文件将不会位于正确的位置。

听起来您的项目的文件夹结构是错误的

代码应该放在src/main/java下,资源(比如javascript)应该放在src/main/resources下。您有几个不同的选项,可以从中实际提供文件。在spring.io博客上有以下内容:

Spring Boot将自动添加位于以下任何目录中的静态web资源:

  • /META-INF/resources/
  • /resources/
  • /static/
  • /public/
另一个选择是使用


就我个人而言,我发现将此类文件放在
src/main/resources/public
下最容易。它对我来说总是没有任何问题。有趣的是,您可以将名为
/public
的文件夹放在项目中的任何位置,spring boot将从中提供文件。您必须非常小心它位于
src/main/resources/public
下,但是如果您使用像maven这样的构建工具,就像您构建.jar一样,否则文件将不会位于正确的位置。

我解决了这个问题。它与“spring云配置服务器”相关。我刚刚删除了这个配置:org.springframework.cloud-spring-cloud-config-server

我解决了这个问题。它与“spring云配置服务器”相关。我刚刚删除了这个配置:org.springframework.cloud-spring-cloud-config-server

您可以为请求和响应添加curl-request+头吗?您可以为请求和响应添加curl-request+头吗?是的,具有静态内容的文件夹应该位于部署web app的类路径或目录下。因此,一种方法是将静态文件夹放在
src/main/resource
下,然后Maven将帮助将其构建到类路径中。是的,具有静态内容的文件夹应该位于类路径或部署web app的目录下。因此,一种方法是将静态文件夹放在
src/main/resource
下,然后Maven将帮助将其构建到类路径中。