0

我在“C:\Program Files\apache-tomcat-7.0.27”安装了 tomcat
我在“C:\Program Files\eclipse”安装了 eclipse
我的工作区位于“C:\workspace”

我正在使用“Java 透视图”,创建了一个“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项目中的那个。

4

3 回答 3

1

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

如果你想创建一个相对于你的 webapp 的文件,那么你需要获取你的 webapp 的路径,你可以通过在你的 Servlet 中调用 getServletContext().getRealPath("") 来做到这一点。

于 2012-05-18T07:57:10.903 回答
0

Check your webapps folder for a folder with the same name as your project.

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

Here you will find the exact folder structure and your record.txt file as well.

Hope this helps!

于 2012-05-18T07:46:52.860 回答
0

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

我建议你应该走一条绝对路径……我在使用 eclipse 时遇到了同样的问题……那时我什至不得不向用户提供链接……

于 2012-05-18T07:35:35.967 回答