ServletContext#getRealPath( ) 方法转换 Web 内容路径(服务器磁盘上展开的 WAR 文件夹结构中的路径)文件系统)到绝对磁盘文件系统路径。
传递给 getRealPath() 的“/”表示 Web 内容根目录,即以下项目结构中的 /web 文件夹:
|-- src<br> | :<br> |<br> |-- 网页<br> | |-- META-INF<br> | | `-- MANIFEST.MF<br> | |-- WEB-INF<br> | | `-- web.xml<br> | |--index.jsp<br> | `-- login.jsp<br> : <br>
因此,getRealPath("/") 返回 /web 文件夹的绝对磁盘文件系统路径项目的扩展 WAR 文件。
避免使用 getRealPath(),因为有更便携的解决方案:
对写入的文件进行的修改getRealPath() 返回的路径在 WAR 时丢失
getRealPath() 假定 WAR 文件已扩展到磁盘文件系统,但情况并非总是如此。在这种情况下,getRealPath() 可能会返回 null 或意外的路径。
以上是ServletContext.getRealPath('/') 返回什么以及何时应该避免使用它?的详细内容。更多信息请关注PHP中文网其他相关文章!