Spring MVC,将节点附加到现有XML文件

时间:2015-06-16 12:36:51

标签: java spring spring-mvc tomcat

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

<user>
    <username>user1</username>
    <password>e38ad214943daad1d64c102faec29de4afe9da3d</password>
    <uuid>213214</uuid>
</user>

我有两个控制器,一个处理登录(读取文件),另一个用于注册过程(将一个节点附加到文件)。一切似乎都有效但我的控制器没有写入该文件。我想Tomcat正在创建一个副本或某种流,并在启动时加载,但没有信息写入实际文件。到目前为止,我的代码看起来像这样。

servletContextResource = new ServletContextResource(servletContext,"/WEB-INF/content/users.xml");
userXML = servletContextResource.getFile();

我可以这样读取文件。我尝试了以下内容来写入同一个文件

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-Exception。任何帮助表示赞赏。

0 个答案:

没有答案