为什么在root目录下取得的结果是正确的,但是在虚拟目录下取得的结果是错误的?
<%
String strPathFile=application.getRealPath(request.getRequestURI());
out.println("文件的绝对路径:" + strPathFile+ "<br/>");
%>
这段代码放在tomcat的root目录下得到的结果是正确的,但是我新建一个虚拟目录,在虚拟目录下实验是错误的,多一级目录!比如我放在虚拟目录test下,得到的结果是这样的:D:\test\test\xxx.jsp,但是事实上是D:\test\xxx.jsp,请教高手是怎么回事,谢谢!
<%
String strPathFile=application.getRealPath(request.getRequestURI());
out.println("文件的绝对路径:" + strPathFile+ "<br/>");
%>
这段代码放在tomcat的root目录下得到的结果是正确的,但是我新建一个虚拟目录,在虚拟目录下实验是错误的,多一级目录!比如我放在虚拟目录test下,得到的结果是这样的:D:\test\test\xxx.jsp,但是事实上是D:\test\xxx.jsp,请教高手是怎么回事,谢谢!
解决方案 »
- 求助,jsp问题
- 乱码问题
- compass 搜索的问题
- Persistence.createEntityManagerFactory(String persistenceUnit)出错。我是新手没积分,高手帮帮忙啊
- 在线等答案,帮帮忙
- 急,为什么我用JSTL增加一条记录后,每个字段都要写否则就报错
- 哪个有关于JSP生成静态页面的帮助文档及说明的电子书,秀出来,谢谢了
- 有什么encode方法能在前台页面(javascript)解的?
- 谁能给一个滚动条的代码?
- insert (access)时,数据已经插入成功,但是却报错:no ResultSet was produced.(急,在线等)
- 圣诞快乐,电子贺卡
- JSP问题,在线等
例如:你在server.xml中定义了<Context path="/mywebapp" docBase="D:\mywebapp" debug="0" reloadable="true" />
然后,你在D:\mywebapp下建了一个文件mytest.jsp,
mytest.jsp中打印request.getRequestURI(),显示为"/mywebapp/mytest.jsp"
这时你对他取绝对路径,application.getRealPath(request.getRequestURI());打印的结果当然是:
"D:/mywebapp/mywebapp/mytest.jsp"了。你不妨可以试下用request.getServletPath()来代替request.getRequestURI()
再取绝对路径,这是结果就正确了,即D:/mywebapp/mytest.jsp