JavaEE 保存文件获取绝对路径getResource("")和servletContext.getRealPath("/")
2017-08-21 14:53
295 查看
JavaEE 保存文件获取绝对路径getResource("")和servletContext.getRealPath("/")
http://blog.csdn.net/fengshizty/article/details/28257927假如我们要想在web项目中保存文件,其必须先要获取保存文件的绝对路径,我主要采用有如下两种:
假如有如下的目录:
shop
-uploadPic
-WEB-INFO
-classes
-upload.class
我们要获取网站部署的绝对位置,既要获取上传文件uploadPic文件夹的绝对位置,在upload.Java类中有如下实现:
第一:如果采用ServletContext的getRealPath方法:
request.getRealPath()这个方法以及被淘汰,所以建议不要使用。
而获取ServletContext可以用1. request.getServletContext()(这种支持在servlet3.0以后的)
2. request.getSession().getServletContext()
代码如下:
[java] view plain copy
ServletContext servletContext = request.getSession()
.getServletContext();
String uploadPath = servletContext.getRealPath("/")
+ "uploadPic/";
第二: 采用getResource("")获取(主要针对非servlet中,在一般的Java类中使用)
在upload.java中 使用 this.getClass().getClassLoader().getResource("").getPath(); 获取upload.class在部署项目中classes的位置,然后可以截取获得uploadPic的位置
代码如下:
[java] view plain copy
String classPath = this.getClass().getClassLoader().getResource("")
.getPath();
String path = classPath.substring(0, classPath.indexOf("WEB-INF"))
+ "uploadPic";
相关文章推荐
- JavaEE 保存文件获取绝对路径getResource("")和servletContext.getRealPath("/")
- Java中获取classpath路径下的资源文件【ClassLoader.getSystemResource("")获取当前ClassPath的绝对URI路径,还可以以流的形式获取文件】
- java 之 HttpServlet 获取GET或者POST字段(getParameter) 获取配置getServletContext 和 获取某个文件绝对路径(getPath)
- 用getServletContext().getRealPath(FILE_PATH)获取绝对路径为null
- 从request获取各种路径总结 request.getRealPath("url"); // 虚拟目录映射为实际目录 request.getRealPat
- 从request获取各种路径总结 request.getRealPath("url"); // 虚拟目录映射为实际目录 request.getRealPat
- String filePath = request.getSession().getServletContext().getRealPath("/");这句话返回的路径是什么,解释下getRealPath("/")函数中的"/"表示什么意思
- 从request获取各种路径总结 request.getRealPath("url")
- request.getSession().getServletContext().getRealPath(“/updload/video/”) 得到项目的绝对路径
- servlet中getServletContext().getRealPath("/");的路径
- JavaEE程序有一大路径陷阱,那就是ServletContext的 getRealPath方法
- String.valueOf(Thread.currentThread().getContextClassLoader().getResource("")) 获取项目的绝对路径(shiro项目中来的八)
- getRealPath()获得是当前运行文件在服务器上的绝对路径
- 从request获取各种路径总结 request.getRealPath("url")
- ServletActionContext.getServletContext().getRealPath("/upload");myeclipseyeclipse获取路径不一样的原因
- 在servlet 中使用 request.getSession().getServletContext().getRealPath("upload/" ); 获取不到 tomcat 服务器目录
- 【JAVA】关于java中 类.class.getResource("/").getPath()获取路径有空格的问题
- 有关Linux下request.getRealPath("/")获取路径的问题
- 如何获得Webapp的根项目路径 即ServletContext.getRealPath() 的输入参数要以"/"开头
- request.getRealPath("/")在Linux下获取路径的问题