我有一个Spring应用程序,想知道最好的提供静态内容的方式。我尝试了以下方法:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这样做可以实现功能,但是 DefaultServlet 的行为意味着任何
/static/PATH
形式的请求都会从 webapp/PATH
中提供文件。这暴露了一个严重的漏洞,使得类似以下 URL 的敏感信息可以被展示出来:http://localhost/app/static/META-INF/context.xml
有什么常见的解决方案吗?我应该移动敏感文件吗?编写自己的 DefaultServlet?还是有更好的方法来提供静态内容?