Gwt 在tomcat webapps文件夹中创建临时文件

Gwt 在tomcat webapps文件夹中创建临时文件,gwt,tomcat,web-applications,war,Gwt,Tomcat,Web Applications,War,我有一个GoogleWeb项目,它在开发模式上运行得非常完美。在这个项目中的某个地方,我创建了一些.xml文件,在解析后将其删除 当我在Tomcat7(var/lib/Tomcat7/webapps)中部署项目的.war文件时(我使用tomcat管理部署它),项目无法创建任何文件。我尝试了webapps文件夹中所有可能的路径。我甚至尝试了context.getRealPath(“/”+”/ROOT/tmp/”,但什么也没发生您应该使用临时文件夹,而不是尝试直接写入您的webapp的部署目录: S

我有一个GoogleWeb项目,它在开发模式上运行得非常完美。在这个项目中的某个地方,我创建了一些.xml文件,在解析后将其删除


当我在Tomcat7(var/lib/Tomcat7/webapps)中部署项目的.war文件时(我使用tomcat管理部署它),项目无法创建任何文件。我尝试了webapps文件夹中所有可能的路径。我甚至尝试了context.getRealPath(“/”+”/ROOT/tmp/”,但什么也没发生

您应该使用临时文件夹,而不是尝试直接写入您的webapp的部署目录:

ServletContext app = (servlet).getServletContext();
File tmpDir = (File)app.getAttribute("javax.servlet.context.tempdir");
File targetFile = new File(tmpDir, "mytempfile.xml");
...

记住在try/catch块中执行所有操作,并正确清理“finally”块中的资源,否则您会后悔的;)

事实上,我用我自己的方式玩这条路。问题是我想把我的文件写在一个公开的文件夹中。所以,即使是ROOT也帮不上忙…所以,您需要将临时文件写入一个公开可用的文件夹?为什么?如果您使用的是ServletContext.getRealPath(),那么您正在编写一个已损坏的应用程序。好吧,我需要将KML文件写入一个公开可用的文件夹中,以便在gmap上显示它们。不可能解析本地KML文件,因此我尝试找到一种管理方法it@mariosk89我懂了。请注意,在部署的webapp目录结构中创建文件时,会发生许多令人惊讶的事情。你已经被警告了。谢谢!!!目前,我使用JSNI,并使用geoxml3(一个Javascript库)将kml解析为字符串。我只是想找到一个更好更快的方法