1

我有以下文件夹结构

TempProj
!-js
!-jsp
!-WEB-INF
  !-classes
  !-lib

在我的 lib 文件夹中,我有一个创建 XML 文件的 java 文件,我实际上需要在 jsp 文件夹中生成该文件。

我正在使用 StreamResult result = new StreamResult("test.xml"); 创建

我尝试提供以下路径“../../jsp/text.xml”。由于我已经部署了它,因此路径必须是相对的。

任何帮助!

4

1 回答 1

0

你使用什么应用服务器?如果您使用的是 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...)。

于 2009-12-29T15:56:14.130 回答