我有以下文件夹结构
TempProj
!-js
!-jsp
!-WEB-INF
!-classes
!-lib
在我的 lib 文件夹中,我有一个创建 XML 文件的 java 文件,我实际上需要在 jsp 文件夹中生成该文件。
我正在使用 StreamResult result = new StreamResult("test.xml"); 创建
我尝试提供以下路径“../../jsp/text.xml”。由于我已经部署了它,因此路径必须是相对的。
任何帮助!
我有以下文件夹结构
TempProj
!-js
!-jsp
!-WEB-INF
!-classes
!-lib
在我的 lib 文件夹中,我有一个创建 XML 文件的 java 文件,我实际上需要在 jsp 文件夹中生成该文件。
我正在使用 StreamResult result = new StreamResult("test.xml"); 创建
我尝试提供以下路径“../../jsp/text.xml”。由于我已经部署了它,因此路径必须是相对的。
任何帮助!
你使用什么应用服务器?如果您使用的是 Websphere(可能是其他人,但我不知道),您可能需要设置一个“文件 url”并使用 JNDI 将查找目录的工作委托给 App Server 本身。
作为进一步阐明问题的实验,您可以尝试以下操作:
File nopath = new File("text.xml");
System.out.println(nopath.getCanonicalPath());
和:
File relpath = new File("../../jsp/text.xml");
System.out.println(relpath.getCanonicalPath());
我想知道您是否能够做到这一点...我有一种感觉(仅此而已,请检查!)App Server 的安全管理器可能不喜欢您尝试遍历目录并离开目录.. ..
您可能要重新考虑不创建磁盘上的文件 - 而是创建一个动态提供 XML 的新 servlet...(假设您最终需要客户端浏览器来查看一些 XML...)。