日期:2014-05-18  浏览次数:20698 次

关于MyEclipse下面的相对路径问题
我的src 下面有个servlet : package com.test.servlet;
在又在外面建了个文件夹(不是在src和webroot下面):powerpoint
在powerpoint里面放了个a.ppt
servlet路径:src/com/test/servlet/a.java;
ppt路径:powerpoint/a.ppt;
我在servlet里面要调用ppt,问题在servlet里面a.ppt的相对路径是什么?
谢谢!

------解决方案--------------------
你既然提到了servlet,那你的工程一定是web工程,
web工程是部署在服务器上的,假定你的工程名叫demo
那么在servlet中你能获得的路径就是相对于/demo下的
所有路径。你的ppt如果不在这个工程中,而又要对其进行
IO操作,没有绝对路径是不行的。一般都会把工程中要用
的文件放在WebRoot或WebContent也就是web应用的根目录
或其子目录下,并用相对路径访问。
------解决方案--------------------
ppt路径:powerpoint/a.ppt 这个加入到WEB项目中来.
再访问就简单多了.

楼上说的太对了,参考!
------解决方案--------------------
<%=path%>/...
------解决方案--------------------
用绝对路径把,
你powerpoint下的a.ppt又发布不到Tomcat下的,
因为你的a.ppt文件没在webroot下。。。。

------解决方案--------------------
up
------解决方案--------------------
up up!
------解决方案--------------------
帮顶
------解决方案--------------------
检查下 服务器上你的工程中 有没有你的这个文件。 如果有的话 应该可以得到的
------解决方案--------------------
学习学习
------解决方案--------------------
路径有绝对和相对的路径之分,一般都是用的相对路径,便于软件的移植
------解决方案--------------------
楼主,可不可以把你更新后的文件路径再详细说下啊
------解决方案--------------------
探讨
引用:
用绝对路径把,
你powerpoint下的a.ppt又发布不到Tomcat下的,
因为你的a.ppt文件没在webroot下。。。。

我现在已经把在webroot下建了文件夹,并把a.ppt放到了该文件夹里面
ppt=new File("PowerPoint/a.ppt");
这样不行。

------解决方案--------------------
如果你的路径是 WebRoot/PowerPoint/a.ppt

你可以试试 ppt=new File(request.getRealPath()+"/PowerPoint/a.ppt");

好像是它,

反正是用realpath得到站点发布后在服务器上的绝对路径后就可以建File对象了
------解决方案--------------------
hao
------解决方案--------------------
学习学习
------解决方案--------------------
<%=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/ppt/a.jsp" %>
------解决方案--------------------
这么麻烦??
把a.ppt所在文件夹加到classpath中,读起来就很方便了
------解决方案--------------------

------解决方案--------------------
探讨
你既然提到了servlet,那你的工程一定是web工程,
web工程是部署在服务器上的,假定你的工程名叫demo
那么在servlet中你能获得的路径就是相对于/demo下的
所有路径。你的ppt如果不在这个工程中,而又要对其进行
IO操作,没有绝对路径是不行的。一般都会把工程中要用
的文件放在WebRoot或WebContent也就是web应用的根目录
或其子目录下,并用相对路径访问。

------解决方案--------------------
没有这么使用过!肯定要在项目下建立放置文件的目录了!然后才能使用相对路径!
不然就只能使用绝对路径了!
------解决方案--------------------
request.getRealPath("/") + "()+"PowerPoint\\a.ppt"; 
这样写就可以啦!!
给我加分啊!
------解决方案--------------------