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

时间:2011-03-05 05:27:35

标签: java servlets

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

2 个答案:

答案 0 :(得分:2)

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

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

System.getProperty("jboss.server.home.dir");

或Tomcat

System.getProperty("catalina.home");

除上述代码外,请使用System.getProperty("file.separator");

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

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

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

答案 1 :(得分:1)

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

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