URL url = request.getSession().getServletContext().getResource("/");
String path = request.getSession().getServletContext().getRealPath("/")
想求教大家这两个方法的区别是什么?
在Linux下使用时会使用什么方法?
在部署成war包时会怎样?
那种方法比较通用一些?
谢谢大家 最好描述详细一下 分享一下大家不同的开发经验

解决方案 »

  1.   

    getRealPath()获得的是绝对路径,getResource()获得的是相对路径,对于开发人员来说都是使用相对路径,因为使用的是绝对路径一旦你换了服务器或者系统,那便会出现路径或者类加载的错误,典型的如果你在windows下可能有C,D盘之分,但是在linux系统下便没有盘符之分了,所以建议使用getResource()
    如果你使用的是getResource()你在用myeclipse或者eclipse时把项目压缩成war包后对你的部署工作不会存在影响,但是如果是用的绝对路径,一定会有影响!
      

  2.   

    看了楼上我自己也不清楚,我们老师一直教我们用.getRealPath("/")的他是个有经验的开发人员
      

  3.   

    看看这个吧,说的很详细了
    http://blog.csdn.net/shendl/article/details/1427637
      

  4.   

    你之所以要压缩成war包其就是为了部署,部署你肯定是要换系统或者换服务器,一旦一换你在用你的绝对路径肯定是出问题的!
      

  5.   

    我觉得getRealPath()也是在程序中写的,你换个地方,登陆那个servlet,得到的值肯定也会变化的,至于linux环境,我不清楚,但windows没问题。
      

  6.   

    我感觉看你的需求,我做上传图片用的就是getRealPath(),毕竟存在及合理嘛。呵呵!