Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在servlet中读取外部文件(位于容器文件夹之外)?_Java_Servlets - Fatal编程技术网

Java 如何在servlet中读取外部文件(位于容器文件夹之外)?

Java 如何在servlet中读取外部文件(位于容器文件夹之外)?,java,servlets,Java,Servlets,如何读取servlet容器外部的servlet中的文件?要读取容器外部的文件,必须使用文件的绝对物理路径。但这种方法存在一些问题。文件的路径可能与您的开发系统和生产系统不同。您还将面临文件访问权限问题 最好将配置文件包含在应用程序的范围内。在我的工作中,我使用了系统属性值来读取servlet容器或WEB-INF文件夹外部或应用程序上下文外部的属性文件 如果您使用的是JBOSS服务器,那么请使用 System.getProperty("jboss.server.home.dir"); 还是给雄猫

如何读取servlet容器外部的servlet中的文件?

要读取容器外部的文件,必须使用文件的绝对物理路径。但这种方法存在一些问题。文件的路径可能与您的开发系统和生产系统不同。您还将面临文件访问权限问题


最好将配置文件包含在应用程序的范围内。

在我的工作中,我使用了
系统属性
值来读取servlet容器或WEB-INF文件夹外部或应用程序上下文外部的属性文件

如果您使用的是JBOSS服务器,那么请使用

System.getProperty("jboss.server.home.dir");
还是给雄猫

System.getProperty("catalina.home");
与上面的代码一起使用
System.getProperty(“file.separator”)

通过这种方式,您可以从文件中读取更新的更改,防止重新部署war或jar文件,并在所有平台(windows、unix)中工作

如果您正在运行一个独立的应用程序,您可以提供您自己的属性,如下所示 在应用程序启动期间

java -Dconfig.url="D:/Apps/"
String prop = System.getProperty("config.url");