Java SpringMVC,将一个节点附加到现有的XML文件中
我正在使用Spring MVC应用程序进行登录。我在/WEB-INF/content/users.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> </
<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);