0

为了写入 JSP 中的文本文件,该文件应在 NETBEANS Web 应用程序项目中创建的位置。

4

1 回答 1

1

将其存储在 IDE/server/webapp 之外的固定路径中。例如C:\var\webapp\data。你可以FileOutputStream这样写

File file = new File("C:/var/webapp/data", "filename.txt");
OutputStream output = new FileOutputStream(file);

固定路径又可以通过配置/属性文件进行配置,该文件又放置在类路径中。另请参阅在哪里放置以及如何在基于 servlet 的应用程序中读取配置资源文件?

String dataPath = properties.getProperty("data.path");
File file = new File(dataPath, "filename.txt");
OutputStream output = new FileOutputStream(file);

不要将它存储在 Netbeans 的文件夹结构中,因为在生产环境中部署和运行时,甚至在移动到不同的 IDE 时,它根本不存在。它使您的 webapp 完全不可移植。不要将它存储在扩展的 webapp 的文件夹结构中(使用 WEB-INF 和所有在 em 上,人们会使用ServletContext#getRealPath()它来将其转换为磁盘文件系统路径),因为该文件夹结构中的每次更改都会完全消失一次WAR 被重新部署,或者在某些配置中,即使服务器重新启动,仅仅是因为创建/编辑的文本文件不是原始 WAR 的一部分。

一个完全不同的替代方案是使用(嵌入式)SQL 数据库。当您经常需要操作数据或需要在其中搜索时,这可能是一个更好的选择。SQL 数据库绝对针对这项工作进行了高度优化。

于 2012-06-30T23:19:10.373 回答