在GWT中加载服务器端的JSON文件

时间:2011-09-11 15:57:13

标签: gwt tomcat

我有一个GWT应用程序,我在服务器端加载一个.json文件,如下所示:

InputStream source = new FileInputStream(testFile.json); 

当我在eclipse中直接启动应用程序时,这非常有效。但是,当我在tomcat上部署应用程序时,它不起作用。看来,应用程序正在tomcat(???)的bin文件夹中查找该文件。但是,正确的路径是tomcat / webapps / myProject / testFile.json。

有没有人知道如何获得正确的路径(没有加密)?

1 个答案:

答案 0 :(得分:1)

FileInputStream根据当前工作目录定位文件,而后者又取决于启动应用程序的方式,因此无法从应用程序内部控制。对于Web应用程序,您需要ServletContext#getResourceAsStream()而不是FileInputStream来获取Web应用程序自己的资源。它需要一个相对于Web内容文件夹的路径。

InputStream input = getServletContext().getResourceAsStream("/testfile.json");
// ...

另见: