我正在使用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。任何帮助表示赞赏。