我有一个GWT应用程序,我在服务器端加载一个.json文件,如下所示:
InputStream source = new FileInputStream(testFile.json);
当我在eclipse中直接启动应用程序时,这非常有效。但是,当我在tomcat上部署应用程序时,它不起作用。看来,应用程序正在tomcat(???)的bin文件夹中查找该文件。但是,正确的路径是tomcat / webapps / myProject / testFile.json。
有没有人知道如何获得正确的路径(没有加密)?
答案 0 :(得分:1)
FileInputStream
根据当前工作目录定位文件,而后者又取决于启动应用程序的方式,因此无法从应用程序内部控制。对于Web应用程序,您需要ServletContext#getResourceAsStream()
而不是FileInputStream
来获取Web应用程序自己的资源。它需要一个相对于Web内容文件夹的路径。
InputStream input = getServletContext().getResourceAsStream("/testfile.json");
// ...