Apache Tomcat - 访问Webroot之外的文件

时间:2011-10-25 14:20:00

标签: java apache tomcat io web

我在应用服务器Apache中部署了一个应用程序 Tomcat的。我的GWT应用程序需要访问文件夹“C中的文件: \ Storage“。在开发模式下,应用程序像魅力一样运行 在外部Web服务器(Apache Tomcat)中它不运行,崩溃 当它尝试将文件从“C:\ Storage”复制到“\ docs”时。我认为这 可能是因为我正在尝试访问webroot之外的文件。怎么样 我能解决这个问题吗?使用apache commons libs来处理 文件?可能是权限?我需要一些启发,一些帮助 非常吝啬。 提前谢谢,

JoãoCavaleiro。

2 个答案:

答案 0 :(得分:0)

另一个(疯狂的)猜测:如果你在没有解包的情况下部署战争作为真实文件,getRealPath(“/ doc”)将返回null。 (你在战争中没有文件)。所以你必须配置Tomcat: http://tomcat.apache.org/tomcat-5.5-doc/config/context.html

upackWAR = true

答案 1 :(得分:0)

谢谢大家的回复。我实际上弄清楚问题是什么:路径。

“\ docs”是位于应用根目录中的文件夹。

不幸的是,Apache没有在catalina.out日志上写任何异常(代码捕获异常)。

我没有使用目标位置的绝对路径创建新文件(路径名),我只使用“docs / filename.txt”,假设File classe会识别完整路径,“知道”应用程序文件系统中的位置。我认为这是一个特殊应用服务器的情况,因为使用eclipse / Jetty它可以工作但是Apache Tomcat没有(我正在开发一个GWT应用程序)。

但事实上,在debteug中,debbug并不容易,带有外部服务器的debbug模式在代码安静的服务器端不起作用,我需要这样做io操作奇怪)和系统.out.println,我设法帮助我弄清楚catalina.stdout中没有出现的问题(奇怪的是,我已经在Apache Tomcat上编译并部署了两次这些修改)。

感谢大家。