Jsp中application.getRealPath()问题

<%Stringpath="http://localhost:8080/fio/liuyan1.jsp";out.print("取得的文件实际路径:");out.prin... <%
String path="http://localhost:8080/fio/liuyan1.jsp";
out.print("取得的文件实际路径:");
out.print(application.getRealPath(path)+"<br>");
%>

显示结果为:
取得的文件实际路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\fio\http:\localhost:8080\fio\liuyan1.jsp

1.请问要如何显示其正真的实际路径是C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\fio\liuyan1.jsp
2.为什么getRealPath()获取的路径又带有http:\localhost:8080\fio?
展开
 我来答
ffg410
推荐于2018-03-13 · TA获得超过1289个赞
知道小有建树答主
回答量:555
采纳率:66%
帮助的人:484万
展开全部
你显示结果当然是上面的那个了。因为你给path赋值是这样
http://localhost:8080/fio/liuyan1.jsp这段字符串,所以打印出来的结果是:
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\fio\http:\localhost:8080\fio\liuyan1.jsp
你应该这样修改就可以了
String path ="liuyan1.jsp"
out.print("取得的文件实际路径:");
out.print(application.getRealPath(path)+"<br>");
这样打印出来就是你要的结果了。下面的取路径代码你可以参考一下:
工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI()
结果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
结果:/TEST
(3)得到当前页面所在目录下全名称:request.getServletPath()
结果:如果页面在jsp目录下 /TEST/jsp/test.jsp
(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
结果:D:\resin\webapps\TEST\test.jsp
(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:\resin\webapps\TEST
和风独立守神
2010-10-09 · TA获得超过1049个赞
知道小有建树答主
回答量:420
采纳率:33%
帮助的人:409万
展开全部
因为参数是接收WEB服务器文件的,而不是URL的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式