如何读取servlet容器外的servlet中的文件?
答案 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)
为了读取容器外的文件,您必须使用文件的绝对物理路径。但这种方法存在问题。文件的路径可能与您的开发系统和生产系统不同。您还将面临文件访问权限问题。
最好将配置文件包含在应用程序范围内。