如何在基于Servlet的Web应用程序中临时保存生成的文件

如何在基于Servlet的Web应用程序中临时保存生成的文件

我正在尝试生成一个xml文件并将其保存在/WEB-INF/pages/.

下面是我的代码,它使用相对路径:

File folder = new File("src/main/webapp/WEB-INF/pages/");StreamResult result = new StreamResult(new File(folder, fileName));

在我的本地机器上作为应用程序运行时,它运行得很好(C:\Users\userName\Desktop\Source\MyProject\src\main\webapp\WEB-INF\pages\myFile.xml).

但是,在服务器机器上部署和运行时,它会引发以下异常:

TransformerException:java.io.FileNotFoundException C:\project\eclipse-jee-luna-R-win32-x86_64\eclipse\src\main\webapp\WEB INF\Pages\myFile.xml

我试过getServletContext().getRealPath()也是,但它又回来了null在我的服务器上。有人能帮忙吗?


犯罪嫌疑人X
浏览 610回答 3
3回答

波斯汪

不允许在JavaEE中使用文件系统的原因是,它被设计成透明地在多个主机上工作。您的代码在编写时可能运行在一个主机上,在试图读取结果时运行另一个主机
打开App,查看更多内容
随时随地看视频慕课网APP