java的相对路径和绝对路径一直是个经典的话题。
主要体现在以下几个方面:
1、关于类文件所在的路径:
此时一般要到用反射来获得class文件的位置,从而获得resource文件所放的位置。
e.g:
this.getClass().getClassLoader().getResource("").getPath();
如果上面方法对有空格的目录不行时,用下面这句:
String keyPath=Thread.currentThread().getContextClassLoader().getResource("").getPath()+"welinkKeypas.keystore";
2、取webroot的目录,就得用servletContext了。
用request取:request.getSession().getServletContext().getRealPath("/")
用servletContext取:this.getServlet().getServletContext().getRealPath("/")
---------------------------------------------------------------------------
在jsp中,可以直接什么都不写或者request.getContextPath()即可获取到web根目录了。(注意斜杠代表的是域名,不是根目录)
但是在java文件中,只能用servletContext.getRealPath()来获取Web根目录了。
refurl:http://nopainnogain.iteye.com/blog/784157
http://duanfei.iteye.com/blog/656031
Tag:path