有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否可以在Spring引导应用程序中启用目录列表?

我们正在将现有应用程序迁移到Spring Boot。所讨论的应用程序(Genie)充当Hadoop或Presto等数据处理集群的分布式、可伸缩客户机。因此,我们需要将查询结果输出到磁盘,并允许用户访问其数据。在过去,我们通过在Tomcat中启用目录列表来实现这一点,我们将在其中部署war,并允许用户使用DefaultServlet浏览和访问他们的文件

我尝试使用如下资源处理程序导出目录:

@SpringBootApplication
public class GenieWeb extends WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter {

    // Other configuration

    @Override
    public void addResourceHandlers(final ResourceHandlerRegistry registry) {
        super.addResourceHandlers(registry);

        final String myExternalFilePath = "file:///path/to/dir/";

        registry
            .addResourceHandler("/urlPath/*")
            .setCachePeriod(0)
            .addResourceLocations(myExternalFilePath);
    }
}

当资源的URI已知,但对目录的任何请求都返回404时,这可以正常工作。理想情况下,这与独立Tomcat中的DefaultServlet在listings作为init参数设置为true时的行为相同

我尝试了各种方法来访问Tomcat配置,特别是DefaultServlet,但没有通过典型的“listing”属性启用目录列表

过度的搜索并没有得到任何结果,所以我很好奇,在我回到战争构建或与Apache合作之前,是否有人知道这是可能的。我不想这样做的主要原因是为了尽可能轻松地部署我们的应用程序,让所有内容都包含在一个jar文件中非常有吸引力

提前谢谢


共 (0) 个答案