我有以下文件夹结构
TempProj
!-js
!-jsp
!-WEB-INF
!-classes
!-lib
在我的lib文件夹中,我有一个创建XML文件的java文件,我实际上需要在jsp文件夹中生成该文件。
我正在使用StreamResult创建result = new StreamResult(“test.xml”);
我尝试过以下路径“../../jsp/text.xml”。自从我部署它以来,路径必须是相对的。
任何帮助!!
答案 0 :(得分:0)
您使用的App Server是什么?如果您正在使用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 ...)。