使用 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 自动将 3rd 方 jars 添加到 WEB-INF/lib
Eclipse中修改tomcat的部署路径deploypath