Servlet:context.getRealPath("")的用途是什么?

Bib*_*haw 5 java servlets

据我所知它返回应用程序路径?但究竟是什么用它.

leo*_*onm 5

在许多环境中,不允许应用程序用户读取部署目录之外的任何文件.这主要是出于安全目的 - 例如,如果某人攻击您的应用程序,他们将无法读取密码文件.

在专业管理的环境中,开发人员通常不知道应用程序将放在哪个目录中.

因此,如果您需要读取属性,图像,证书等文件,可以将其放在应用程序目录(或.war文件)中,并使用getRealPath("")来获取需要加载的路径.

作为替代方案,您可以将外部文件放在类路径上,但有时会出现问题.对于大型文件,大多数应用服务器会尝试将整个文件加载到内存中,如果它在类路径上则将其缓存.