2

我正在为我的java应用程序(Servlet,jsp)使用tomcat服务器。在我的servlet页面中调用一个java类函数。实际上java文件是单独编写的,我将调用其中编写的函数。在函数中,我必须出于某种目的读取一个配置(用户定义)文件。所以,我为此使用 File 类。

但是,在这里我必须给出配置文件的相对路径(用户定义)。因为,现在我在本地 windows 服务器上运行这个应用程序。但是我的实时服务器是基于 Linux 的。所以,文件路径在 linux 中发生了变化。

File f1=new File("D:\tomcat\webapp\myapp\WEB-INF\src\point_config.txt");  -- windows
File f1=new File("D:\ravi\tomcat\webapp\myapp\WEB-INF\src\point_config.txt");  -- linux

所以,我必须给出 Windows 和 linux 机器通用的文件的相对路径。

有没有办法做到这一点?

请指导我摆脱这个问题?

4

2 回答 2

6

将您的配置文件放在您的 webapp WEB-INF/classes 文件夹下,并在代码中这样阅读

InputStream is= 
   YourClassName.class.getResourceAsStream("point_config.txt");
于 2013-05-16T09:32:45.213 回答
1

配置文件的路径指向 WEB-INF 文件夹

tomcat\webapp\myapp\WEB-INF\src\point_config.txt

WEB-INF 中的任何内容都受到保护,一旦 Web 应用程序启动,用户就无法对其进行定义。如果您打算从文件系统中读取用户定义的配置文件,请使用通用配置 API 之类的 API

如果您要坚持将文件保留在 WEB-INF 文件夹中,请改用Class.getResourceAsStream()获取配置的方法。不过,这不会使配置成为用户定义的。

于 2013-05-16T09:33:16.710 回答