默认值web.xml
(位于 中)已经包含配置以从URI下的目录BaseXWeb/WEB-INF
中提供静态文件:./static
/static/
<!-- Mapping for static resources (may be restricted to a sub path) -->
<servlet>
<servlet-name>default</servlet-name>
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
您还可以查看BaseX DBA,它还充当由 BaseX 托管的 Web 应用程序的示例实现,并利用该./static
文件夹存储一些 JavaScript 文件。
当然,web.xml
如果您需要从另一个目录托管的文件,您也可以更改默认值。另一种方法是始终将文档作为 RAW 文件存储在数据库中,并自行为它们提供足够的内容类型。由于通过./static
文件夹托管文件绕过了 RestXQ 执行并让 Jetty 直接提供文件,但与从 BaseX 数据库读取文件相比,您可能会获得一些性能改进。第三种解决方案可能是在 BaseX 前面托管一个反向代理来提供静态文件(这通常是在生产环境中完成的),但这会增加开发中的一些管理开销。