资源文件我想从一个servlet访问的资源文件,但得到HTTP错误500 - 访问被拒绝:拒绝访问,从Java Servlet的
File file = new File("//warChildFolder//myFile.txt");
InputStream is = new FileInputStream(file); // <--error on this line
我对谷歌 - 应用程序引擎。
任何帮助表示赞赏!
资源文件我想从一个servlet访问的资源文件,但得到HTTP错误500 - 访问被拒绝:拒绝访问,从Java Servlet的
File file = new File("//warChildFolder//myFile.txt");
InputStream is = new FileInputStream(file); // <--error on this line
我对谷歌 - 应用程序引擎。
任何帮助表示赞赏!
谷歌App Engine的文档谈“白名单”的文件。这是在玩吗?
我也想知道这个问题:
File file = new File("//warChildFolder//myFile.txt");
不领先斜线使这是一个绝对路径?
我想尝试这样的:
File file = new File("WEB-INF/warChildFolder/myFile.txt");
使相对WAR根的路径并明确说明WEB-INF。
请问如果使用单一的路径分隔符的工作?
(更新使用相对路径):
File file = new File("warChildFolder/myFile.txt");
你一定要逃逸字符串的字符“\”,所以用“\”,而是一个“/”是所有需要。
更新:这可能是正在处理的路径并不如你期望的那样,你可以尝试登录该文件的绝对路径相同(与file.getAbsolutePath())进行检查。
另一件事是检查该进程已读文件夹/文件的权限。如果你不在Windows上,这可能是一个问题。
我不知道关于谷歌App Engine的,但在我的经验,跨容器和平台的工作原理是使用的ServletContext.getRealPath()的唯一解决方案。
new File(servletContext.getRealPath("/WEB-INF/warChildFolder/myFile.txt"));
该规范说:使用正斜杠和一个前导斜杠。这给你平台的独立性,你不依赖于进程的当前目录。
不知道如何白名单文件。在我的情况下,warChildFolder是WAR文件夹的子项(不在WEB-INF中) – JohnIdol 2009-08-09 14:34:26
我认为白名单是针对类而不是文件,你有参考吗? – 2009-08-09 14:52:19
是的 - 有一个看看,文档谈论关于白名单没有提及文件的类? – JohnIdol 2009-08-09 14:53:26