gpt4 book ai didi

java - 告诉 servlet 文件位置的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 05:01:28 24 4
gpt4 key购买 nike

我只在 web.xml 中硬编码了位置,但这使得我们需要在部署过程中每次都更改 web.xml。

我们可以在项目内创建一个文件夹并告诉 servlet 查找该文件夹及其下面的文件吗?

<context-param>
<param-name>ipTable</param-name>
<param-value>E:\Workspace\Eclipse_Workspace\BpsPdfBill\WebContent\WEB-INF\ipTable.txt</param-value>
</context-param>

最佳答案

如果不需要File对象,可以使用ServletContext.getResource(String path)path 参数必须以“/”开头,并且相对于上下文根。该方法返回一个 URL,您可以打开该 URL,然后读取文件的内容。

我认为不存在获取指向 File 对象的指针的标准方法。您始终可以使用系统属性,但这可能并不比将其放入 web.xml 中更好。

更新

如果您确实需要一个File对象,而不仅仅是文件的内容,那么您可以执行以下操作。这取决于文件位置如何变化。

如果文件位置根据您要部署到的服务器而变化,但在每台服务器上保持不变,则只需将系统属性添加到 Web 容器的启动脚本中即可。当然,如何执行此操作因容器而异,但您应该能够在文档中找到具体操作方法。

您还可以将该文件的位置放在单独的属性文件中,例如 file.properties,并修改您的部署过程以生成或更新此文件并将其放置在您的 WEB 中-INF 目录。然后,您可以使用 ServletContext.getResourceAsStream() 读取此属性文件,获取路径并实例化文件。

关于java - 告诉 servlet 文件位置的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6566817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com