【发布时间】:2012-02-01 21:06:41
【问题描述】:
我目前有一个 GWT webapp 运行在带有 Tomcat6 的 Ubuntu 11.04 服务器上。该应用程序需要能够从服务器上的特定文件夹读取和写入文件。通过 Eclipse 在开发模式下运行应用程序时(我想使用内置的码头实例),它工作正常。但是,当我将应用程序部署到 Tomcat 服务器时,应用程序无法读取/写入文件。
指向服务器上正确文件夹的正确路径结构是什么? IE。如何让应用访问 /home/username/project 文件夹?
我需要为 Tomcat 进行配置设置以允许访问文件吗?
这是我当前检索文件的方式(其中 String file = "./projects/filename"):
public Project getProjectFromFile(String file) {
Project p = null;
try {
InputStream fis = getResourceAsStream(file);
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
p = (Project) ois.readObject();
ois.close();
} catch (FileNotFoundException e) {
System.err.println("getProjectFromFile FileNotFoundException: "
+ e.getMessage());
} catch (IOException e) {
System.err.println("getProjectFromFile IOException: " + e.getMessage());
} catch (ClassNotFoundException e) {
System.err.println("getProjectFromFile ClassNotFoundException: "
+ e.getMessage());
} catch (Exception e) {
System.err.println("getProjectFromFile Exception: " + e.getMessage());
e.printStackTrace();
}
return p;
}
我也愿意接受任何建议。谢谢
【问题讨论】:
-
您是否尝试写入运行 Tomcat 实例的同一用户的主文件夹?这通常是最好的方法。
-
运行 tomcat 的用户是否对 tomcat 尝试读取/写入的路径具有写入/写入权限?
-
我通过 apt-get 安装了 tomcat,所以用户是默认用户(root?)我现在将文件夹权限设置为 777,只是为了让它工作。不幸的是,它仍然不起作用。 @Dave - 不是应用引擎,现在只是家庭服务器
-
@Joni,请参阅我关于将您尝试访问的文件放入您的 war 目录然后使用相对路径加载它们的答案。