无法从Servlet在本地文件系统上找到该文件

时间:2013-05-23 16:14:07

标签: java rest tomcat servlets

我使用Jersey库编写了一个RESTful Web服务,为了响应请求,我必须在本地文件系统中读取文本文件。 C:\ data.txt中。当我在自己的笔记本电脑上使用tomcat运行它时,servlet工作正常。

但是当我在运行Windows服务器操作系统的另一台机器上部署战争并将data.txt再次放在C:\ data.txt时。 servlet无法正确定位文件。任何人都知道为什么会这样?

非常感谢!

2 个答案:

答案 0 :(得分:1)

检查Tomcat服务器进程是否具有对文件C:\ data.txt的读访问权限。检查用于运行tomcat进程的用户,并检查相应的用户文件权限。

我还怀疑这是一个安全错误。应用程序通常仅限于在$ TOMCAT_HOME / webapps下的自己的目录中进行读写。如果是这种情况,您需要更改$ TOMCAT_HOME / conf / catalina.policy以允许您访问其他目录。

答案 1 :(得分:0)

如果您不需要写入文件,请考虑通过输入$ TOMCAT_HOME / lib来移动其在类路径中的位置。

我认为这种方法在跨平台方面也更好。