不用java方法getRealPath()的原因
2018-03-19 11:43
197 查看
目前,getRealPath()是一个已被标记为遗弃的获取当前路径的方法,被标记为遗弃的原因又是什么? getRealPath("/")在不同的服务器上所获得的实现是不一样的,对一个打包的应用来说,是没有RealPath的概念的,调用getRealPath只会简单地返回null。一个文件被打包入了.war文件,就不存在目录结构了(虽然包中仍然存在目录结构,但这不等同于文件系统中的目录结构)。所以,对war包中的资源是无法得到RealPath的。这样也就无从通过文件IO进行读取了, 因此被标为遗弃。
获取绝对路径的方法:this.getClass().getClassLoader().getResource("/").getPath(); 此处为classes目录, 往上一层可以用getResource("/../"),直接指向文件名getResource("/../xxx.xxx")
继承了 HttpServlet 类,也可用此方法:getServletContext().getResource("/"), 要注意,getServletContext()可能会返回null
获取绝对路径的方法:this.getClass().getClassLoader().getResource("/").getPath(); 此处为classes目录, 往上一层可以用getResource("/../"),直接指向文件名getResource("/../xxx.xxx")
继承了 HttpServlet 类,也可用此方法:getServletContext().getResource("/"), 要注意,getServletContext()可能会返回null
相关文章推荐
- Java的getRealPath()方法
- weblogic上以War包部署的项目中 request.getRealPath()或者getServletContext.getRealPath()为null的原因及解决方法
- java.io.File 中 getPath(), getAbsolutePath() 和 getCanonicalPath() 三个方法的区别
- Java中file类getPath(),getAbsolutePath(),getCanonicalPath()方法区别
- JavaEE程序有一大路径陷阱,那就是ServletContext的 getRealPath方法
- ServletActionContext.getServletContext().getRealPath("/upload");myeclipseyeclipse获取路径不一样的原因
- JavaEE程序有一大路径陷阱,那就是ServletContext的 getRealPath方法
- getRealPath()过期解决方法
- 不赞成使用类型 ServletRequest 的方法 getRealPath(String)
- 关于serveletContext.getRealPath()方法
- request.getRealPath不推荐使用request.getRealPath("") 这个方法已经不推荐使用了
- 【java】getAbsolutePath()方法详解
- java.io.File 中 getPath(), getAbsolutePath() 和 getCanonicalPath() 三个方法的区别
- JavaWeb中servlet中response.setCharacterEncoding,getRealPath方法未定义的解决
- request.getRealPath 替代方法
- request.getRealPath()的替代方法
- java学习笔记:getPath取路径文件夹中有空格的处理方法
- request.getRealPath()的替代方法
- 关于serveletContext.getRealPath()方法
- java.io.File 中 getPath(), getAbsolutePath() 和 getCanonicalPath() 三个方法的区别