java - 在哪里保存应该可编辑和可下载的 XML?

标签 java xml tomcat servlets web-applications

所以我有一个网络应用程序(使用 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/

相关文章:

java - 使用 nohup 运行项目时 sbt 主线程的 CPU 消耗较高

c# - 将多个相似的 XML 节点附加到 XML 文档

java - 访问 Tomcat Web 管理器时连接超时

C# 过滤 XML 的属性名称

java - 在 xml 文件中使用 CDATA 来解析 html 数据

java - 如何调试 Tomcat 中的领域功能?

tomcat - 外部提供商未在 resteasy 中注册

java - Plantuml 停止使用新版本的 Java 1.7.0.21

java - 如何设置 quartz 来触发工作并安排一周中的每一天?

Java Multipart POST 从 Web Api 服务器返回不支持的 MediaType