【问题标题】:How does jHipster serve static files but not from META-INF/** and WEB-INF/**?jHipster 如何提供静态文件而不是来自 META-INF/** 和 WEB-INF/**?
【发布时间】:2016-11-17 16:29:34
【问题描述】:

我注意到 jHipster 生成的应用程序几乎可以提供 WAR 工件中所有可用的文件内容。例如,如果index.html旁边有一个文件README.MD,则可以通过http://localhost:8080/README.MD访问。

唯一不提供服务的是META-INF/WEB-INF/ 目录中的文件。

jHipster 应用程序的源代码在哪里配置为提供任意文件,但不提供来自 META-INF/**META-INF/** 的文件?

【问题讨论】:

标签: jhipster


【解决方案1】:

根本没有配置,它是 Servlet 规范的一部分:这两个目录都由 servlet 容器保护,没有做任何特定的事情。

您可能会感到困惑,因为许多人将他们的文件存储在WEB-INF,例如WEB-INF/jsp/ 用于JSP 文件。人们这样做是为了保护这些文件不被直接访问,并有一个控制器(如 Spring MVC 控制器或 Struts 控制器)在处理请求后重定向到这些页面。

JHipster 的工作方式不同,因为它只有静态页面向后端发出 REST 请求,所以它是一个不同的架构。

【讨论】:

  • 它为您项目中src/main/webapp 中的内容提供服务,这是标准的Maven 目录。
  • @JulienDubios,谢谢!我在WebMvcAutoConfigurationAdapter.addResourceHandlers(ResourceHandlerRegistry)@ConfigurationProperties 属性源ResourcePropertiesWebMvcProperties 中找到了相关代码。 It is also mentioned in the Spring Boot documentation,虽然很微妙(“Spring Boot 将从 ServletContext 的根目录提供静态内容 [...]。”)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
  • 2013-06-20
  • 1970-01-01
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
相关资源
最近更新 更多