String  strPathFile  =  application.getRealPath(request.getRequestURI());  
     out.println("文件的绝对路径:"  +  strPathFile+  "<br/>"); //结果 为C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\PRFQ\PRFQ\jsp\importfeedback.jsp
  String  strDirPath  =  new  java.io.File(application.getRealPath(request.getRequestURI())).getParent();  
     out.println("目录的绝对路径:"  +  strDirPath  +  "<br/>"); 
//结果 为C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\PRFQ\PRFQ\jsp
可是
文件的绝对路径:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\PRFQ\jsp\importfeedback.jsp
我的目录的绝对路径命名时C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\PRFQ\jsp怎么会多了一个\PRFQ呢

解决方案 »

  1.   

    PRFQ  是你的工程命名。
      

  2.   

    部署后的程序,在tomcat的webapps目录下,会包含一个根目录。这个根目录的名称一般是跟工程名一样。但是也可以通过eclipse或在ant里指定。
      

  3.   


    那我上传了文件之后怎么取到这个文件呢?
    比如说我的要将文件1.xls上传到jsp下的import中
    我每次上传保存时用的相对路径file.saveAs("/import/"+file.getFileName());
    他的实际地址应该为
    它实际的路径是C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\PRFQ\jsp\import\1.xls
    我怎么取到这个文件呢
      

  4.   

    取文件用你的相对路径啊   就是request.getContextPath()+ "/import/"+file.getFileName()   可以在前面加入你
      

  5.   


    没法直接取了,我只好用/../来取了上传文件的绝对路径了.strDirPath+"/../../jsp/import/"+file.getFileName()