Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringMVC,将一个节点附加到现有的XML文件中_Java_Spring_Spring Mvc_Tomcat - Fatal编程技术网

Java SpringMVC,将一个节点附加到现有的XML文件中

Java SpringMVC,将一个节点附加到现有的XML文件中,java,spring,spring-mvc,tomcat,Java,Spring,Spring Mvc,Tomcat,我正在使用Spring MVC应用程序进行登录。我在/WEB-INF/content/users.xml中创建了一个文件,保存用户。看起来是这样的: <user> <username>user1</username> <password>e38ad214943daad1d64c102faec29de4afe9da3d</password> <uuid>213214</uuid> </

我正在使用Spring MVC应用程序进行登录。我在/WEB-INF/content/users.xml中创建了一个文件,保存用户。看起来是这样的:

<user>
    <username>user1</username>
    <password>e38ad214943daad1d64c102faec29de4afe9da3d</password>
    <uuid>213214</uuid>
</user>
我可以这样读文件。我尝试将以下内容写入同一个文件

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
StreamResult result = new StreamResult(userXML);
transformer.transform(source, result);
到目前为止一切正常,但没有数据写入文件,Tomcat正在制作一个副本(我猜)

我后来尝试了以下方法

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
String filePath = servletContextResource.getPathWithinContext();
File newXML = new File (filePath);
StreamResult result = new StreamResult(newXML);
transformer.transform(source, result);

并得到一个FileNotFound异常。感谢您的帮助。

请将WEB-INF视为只读。它捆绑在部署的war文件中。在webapp之外使用一个文件,这样每次重新部署都不会丢失文件中写入的所有数据。或者更好,使用数据库。我一直在考虑使用数据库,但在我看来,这不值得。这个项目永远不会上线。这只是一个简单的演示应用程序。教授告诉我使用一个简单的XML文件。但是谢谢你的回答
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
String filePath = servletContextResource.getPathWithinContext();
File newXML = new File (filePath);
StreamResult result = new StreamResult(newXML);
transformer.transform(source, result);