tomcat在哪里存储Web应用程序使用的txt文件

时间:2012-05-18 07:21:01

标签: java eclipse tomcat

我已经在" C:\ Program Files \ apache-tomcat-7.0.27"中安装了tomcat 我在" C:\ Program Files \ eclipse"中安装了eclipse 我的工作区位于" C:\ workspace"

我正在使用" Java perspective",创建了一个" Java项目"使用默认输出文件夹作为" helloWorld / web / WEB-INF / classes"。 该项目的结构如下:

-helloWorld
---src
-----servlets
-------hello.java
-------world.java
---web
-----WEB-INF
-------jsp
---------hello.jsp
---------world.jsp
-------lib
-------web.xml
---helloWorld.xml
---record.txt
hello.java中的

doPost()生成一个随机数,并将其写入文本文件" record.txt"。
world.java中的doPost()打开文本文件" record.txt"并阅读一个数字。

系统正在运行,但我最初放在eclipse项目的record.txt文件中的内容从未改变过,我确信从文件中读取的world.java正是hello.java生成的内容。
我检查了" C:\ Program Files \ apache-tomcat-7.0.27 \ work \ Catalina \ localhost \ helloWorld",只有jsp文件存在。
然后我尝试重新启动tomcat并重新加载甚至取消映射并再次部署,但之前生成的数字仍然存在。我没有尝试重新启动计算机。

我的问题是record.txt文件在哪里?它绝对不是eclipse项目中的那个。

3 个答案:

答案 0 :(得分:1)

如果在Java代码中使用相对文件路径,那么它将与您的webapp无关,它将与启动运行Tomcat的进程相关。因此,您可能会在Tomcat bin目录或类似的位置找到您的文件。

如果要创建相对于webapp的文件,则需要获取webapp的路径,可以通过在Servlet中调用getServletContext()。getRealPath(“”)来完成。

答案 1 :(得分:0)

Eclipse部署的项目在temp文件夹中运行。路径看起来像这样... tmp0 / conf / catalina / localhost / projectname .....服务器的context.xml可以帮助你...

我建议你应该选择绝对的路径....我在使用eclipse时遇到同样的问题......那时我甚至不得不提供给用户的链接......

答案 2 :(得分:0)

检查您的webapps文件夹中是否有与您的项目同名的文件夹。

C:\Program Files\apache-tomcat-7.0.27\webapps

在这里,您将找到确切的文件夹结构和record.txt文件。

希望这有帮助!