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谢谢!
<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谢谢!
你用的是哪个版本的Tomcat
我用的是5.0,输出的结果是d:\myweb\ekt
我用的也是5.0呀!
运行http://localhost:8080/mywebx/ekt/temp.jsp以后,
得到的结果仍是D:\myweb\mywebx\ekt ,
请问这是否和tomcat的设置有关呢?
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();