使用 Tomcat 将文本文件放在 Eclipse 动态 Web 项目中的啥位置?

Posted

技术标签:

【中文标题】使用 Tomcat 将文本文件放在 Eclipse 动态 Web 项目中的啥位置?【英文标题】:Where to put text files in an Eclipse Dynamic Web Project using Tomcat?使用 Tomcat 将文本文件放在 Eclipse 动态 Web 项目中的什么位置? 【发布时间】:2013-03-08 02:14:19 【问题描述】:

我正在使用 Tomcat 7 在 Eclipse 中开发一个动态 Web 项目。我所有的 html、css 和 javascript 文件都位于 eclipse 工作区的 WebContent 文件夹中。所有的 java 文件都在 src 文件夹中。一切都适用于简单的程序。但现在我想从 java 程序中读取一个文本文件。我不确定将文本文件放在 Eclipse 工作区的哪个位置,以便正确部署到 Eclipse 的 ./metadata 文件夹内的 Tomcat webapps 目录。

【问题讨论】:

【参考方案1】:

将你的文件放在 webroot 文件夹内或 webroot 文件夹外任何可以读取文件的地方。

classes 文件夹内 很好,因为 web 应用程序的默认 classpath

【讨论】:

如何使用相对路径名访问文件? 直接给你的文件名,假设 hi.txt 在 clasees 文件夹中,然后“hi.txt”你是类文件夹中的相对文件。 你的 java 类在哪里【参考方案2】:

您可以使用 ServletContext.getResourceAsStream() API。

可以在this link 找到一个示例。建议将该文件保存在/WEB-INF目录下

【讨论】:

我想在一个单独的类中使用该文件,我将从 servlet 调用该文件 URL url = this.getClass().getResource( "/stop.txt" ); 返回 null 尽管我的 stop.txt 文件存在于 WEB-INF 文件夹中

以上是关于使用 Tomcat 将文本文件放在 Eclipse 动态 Web 项目中的啥位置?的主要内容,如果未能解决你的问题,请参考以下文章

tomcat编译jsp之后生成的Servlet为什么没有放在tomcatworkCatalinalocalhost文件里

eclipse中的tomcat中修改部署项目的路径

使用 Eclipse/Tomcat 自动将 3rd 方 jars 添加到 WEB-INF/lib

Eclipse中修改tomcat的部署路径deploypath

开发eclipse插件,现在要使用一个配置文件,例如记录日志的配置文件,这个配置文件应该放在啥地方?

Eclipse 中启动tomcat后把jsp项目部署在什么位置