JavaEE 保存文件獲取絕對路徑getResource("")和servletContext.getRealPath("/")


 

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
 
  1.                     ServletContext servletContext = request.getSession()  
  2.         .getServletContext();  
  3. String uploadPath = servletContext.getRealPath("/")  
  4.         + "uploadPic/";  

第二: 采用getResource("")獲取(主要針對非servlet中,在一般的Java類中使用)

 

      在upload.java中  使用 this.getClass().getClassLoader().getResource("").getPath();  獲取upload.class在部署項目中classes的位置,然后可以截取獲得uploadPic的位置

     代碼如下:

    

[java]  view plain  copy
 
  1.               String classPath = this.getClass().getClassLoader().getResource("")  
  2.         .getPath();  
  3. String path = classPath.substring(0, classPath.indexOf("WEB-INF"))  
  4.         + "uploadPic";  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM