我正在使用tomcat服务器为我的java应用程序(Servlet,jsp)。在我的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机器共有的文件的相对路径。
有办法做到这一点吗?
请指导我解决这个问题?
答案 0 :(得分:6)
将您的配置文件放在您的webapp WEB-INF / classes文件夹下,并在代码
中读取InputStream is=
YourClassName.class.getResourceAsStream("point_config.txt");
答案 1 :(得分:1)
配置文件的路径指向WEB-INF文件夹
tomcat\webapp\myapp\WEB-INF\src\point_config.txt
WEB-INF中的任何内容都受到保护,并且在Web应用程序启动后无法由用户定义。如果您打算从文件系统中读取用户定义的配置文件,请使用common configuration API之类的API。
如果您想坚持将文件保留在WEB-INF文件夹中,请使用Class.getResourceAsStream()
方法来获取配置。但这不会使配置由用户定义。