所以我有一个网络应用程序(使用 apache tomcat 服务器、servlets、eclipse IDE)。我编写了代码以允许用户通过 UI 编辑 XML 文件。所以我使用下面的代码通过java访问XML
String fileName = "/MyXML.xml";
String path = this.getClass().getResource(fileName).toString();
这很好用。我可以通过 UI 编辑文件。
现在我想让客户端下载文件。但是我在尝试下载时无法访问该文件。 但是,如果我将文件保存在 webapps 文件夹中,那么我可以使用以下命令访问该文件
ServletContext ctx = getServletContext();
InputStream is = ctx.getResourceAsStream("/MyXML.xml");
(谢谢Mr.MK Yong- http://www.mkyong.com/servlet/servlet-code-to-download-text-file-from-website-java/)
但是如果我将它保存在 webapp 文件夹中,我该如何访问该文件以编辑 XML?
所以基本上我要么能够编辑文件,要么能够下载文件(从 webapp 文件夹),或者我能够在文件的两个不同副本上执行这两项操作。我想编辑 XMl 文件并能够下载它。那么我应该将文件保存在哪里以及如何访问它呢?
最佳答案
您应该将其存储在本地资源文件夹中,因为它本质上是一个动态资源。
我建议的另一件事是,如果您知道将要更改的参数,那么在资源文件夹中有一个模板并将更改存储在数据库中。
我个人有第二种方式。
例如
/yourapp/resource/config_file/xmltemplate.xml
可以改变的参数:
userLocation
folderLocation
colorBase
将它们存储在表中:
Table: UserCongifStorage
Columns: userLocation, folderLocation, colorBase
所以当我需要使用第 1 行的数据时,逻辑是:
将xml文件读入字符串,用从数据库中检索到的数据替换变量,将其作为xml输出到资源文件夹。
然后阅读用法。
希望对你有帮助
关于java - 在哪里保存应该可编辑和可下载的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772433/