java - Spring Boot Maven webapp 文件夹和 ResourceHandler

标签 java spring maven spring-boot

在我使用 Spring Boot 的 Maven 项目中,我有一个包含静态内容(Html、CSS、JavaScript 文件)的以下文件夹:

/src/main/webapp/docs/

这是我的应用程序属性:

server.port: 8080
server.contextPath: /admin-api

当用户访问以下网址时:http://localhost:8080/admin-api/docs 我想向他显示来自/src/main/webapp/的静态内容docs/ 文件夹。

我尝试在我的 WebMvcConfigurerAdapter 中配置 ResourceHandler 但它不起作用:

@EnableWebMvc
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        String[] staticResourceMappingPath = { "/docs/", "classpath:/docs/" };
        registry.addResourceHandler("/docs").addResourceLocations(staticResourceMappingPath);
    }

...
}

http://localhost:8080/admin-api/docs 返回 404 Not Found。

我做错了什么以及如何正确配置它?

最佳答案

您的 addResourceHandlers 方法应如下所示。

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
     registry.addResourceHandler("/docs/**").addResourceLocations("/docs/");
}

现在,如果您在 docs 文件夹中有一个静态页面,例如 index.html,那么您可以使用 http://localhost:8080/admin-api/docs/index.html 访问它

关于java - Spring Boot Maven webapp 文件夹和 ResourceHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387017/

相关文章:

java - 如何在Java Applet中获取Richtext Box?

java - 导入 spring 配置并排除过滤器

java - 如何用java制作小警报通知

java - Camel-activemq 组件和camel-http4 组件的版本不兼容

java - Maven/Java 构建 - SSL 对等端错误关闭

java - 如何为具有不同配置文件的两个不同项目设置 Maven

java - 我在java中使用I/O,当我使用in.nextInt从第一个返回再次读取文件时,我需要一个函数

java - 远程安装 Tomcat(在 digital ocean 服务器上?)

java - Gradle 构建后未导入包(org.json)——没有错误或反馈

java - 每层集成测试是一个好习惯吗?