Java gwt servlet GetResourceAstream始终返回null

Java gwt servlet GetResourceAstream始终返回null,java,servlets,gwt,Java,Servlets,Gwt,我可以在servlet中加载一个文本文件: String lFileName = mServletContext.getRealPath(mFile); InputStream lInputStream = mServletContext.getResourceAsStream(lFileName); InputStream lInputStream2 = mServletContext.getResourceAsStream(mFile); InputStream的都是null。我完全不知道

我可以在
servlet
中加载一个文本文件:

String lFileName = mServletContext.getRealPath(mFile);
InputStream lInputStream = mServletContext.getResourceAsStream(lFileName);
InputStream lInputStream2 = mServletContext.getResourceAsStream(mFile);
InputStream的
都是
null
。我完全不知道为什么

mFile
的值是
“file.txt”
lFile
的值是
“C:\development\workspace\mygwtap\war\file.txt”

如果我使用浏览器导航到该目录,文件
file.txt
就在其中

我使用
超级开发模式测试gwt应用程序。
编译gwt应用程序时不会出现问题


您看到问题了吗?

getResourceAsStream定义

查找具有给定名称的资源。用于搜索与给定类关联的资源的规则由该类的定义类装入器实现。此方法委托给此对象的类装入器


这意味着您可以读取mFile,如果它存在于类路径中,如WEB-INF/classes下。因此,将文件放在java类所在的src目录中,查看该文件是否位于classes目录中,并使用其名称将其作为资源获取。示例:filename=“file.txt”

允许您在资源管理器中访问文件,但不允许您的web服务器访问文件的文件权限可能有问题?我的eclipse使用管理员权限运行文件路径必须与您的servlet上下文相关,即“/file.txt”。我们有一个downvoter,这是一个好迹象,有人回答:)几乎正确。不必将文件放在classes目录中。但在我的例子中,有必要将它放在WEB-INF目录中。我把它放在战争目录里了。不过,你给了我一个很好的暗示。