tomcat的server.xml中设置虚拟目录如下:
<Context path="/mywebx" reloadable="true" docBase="d:\myweb" debug="0"/>
在d:\myweb\ekt中有temp.jsp文件,内容如下:
 <%String straa=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();%>
<%=straa%>
可运行后得到的结果却是:D:\myweb\mywebx\ekt
我想问一下:怎样才能得到虚拟目录的真实目录,也就是d:\myweb\ekt谢谢!

解决方案 »

  1.   

    结果应该是d:\myweb\ekt
    你用的是哪个版本的Tomcat 
    我用的是5.0,输出的结果是d:\myweb\ekt
      

  2.   

    不可能呀!
    我用的也是5.0呀!
    运行http://localhost:8080/mywebx/ekt/temp.jsp以后,
    得到的结果仍是D:\myweb\mywebx\ekt ,
    请问这是否和tomcat的设置有关呢?
      

  3.   

    request.getRequestURI( ) ---- "/mywebx/ekt/temp.jsp"
    application.getRealPath("/mywebx/ekt/temp.jsp") ---- "D:\myweb\mywebx\ekt\temp.jsp"
    request.getServletPath() ---- "/ekt/temp.jsp"
    application.getRealPath("/ekt/temp.jsp") ---- "D:\myweb\ekt\temp.jsp"所以应该这样:
    String str = new File(application.getRealPath(request.getServletPath())).parent();
      

  4.   

    String str = new File(application.getRealPath(request.getServletPath())).parent();