+ -
当前位置:首页 → 问答吧 → 求助Eclipse中application.getRealPath("/")得到的路径怎么会是myWorkspace/.metadata/.

求助Eclipse中application.getRealPath("/")得到的路径怎么会是myWorkspace/.metadata/.

时间:2009-04-17

来源:互联网

小弟用smartupload上传文件时,为了设置上传的路径,用application.getRealPath("/")取得当前绝对路径。 
取得的居然会是myWorkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/这个貌似是临时文件的路径,而不在我的工程目录中。 
上传成功后,在用http显示文件的时候,由于不在工程目录中,就访问不到了。请问能否有什么方法取得真实的工程路径,而不是上面的tmp0这个路径,或者其他解决方案。

作者: mephistone   发布时间: 2009-04-17

获得项目绝对路径
String filePath=this.getServletConfig().getServletContext().getRealPath("/");

根目录所对应的绝对路径:request.getServletPath();

文件的绝对路径 :request.getSession().getServletContext().getRealPath(request.getRequestURI())

当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");


在这里选一种吧

作者: siyanfighting   发布时间: 2009-04-20

1楼的结果和我一样;

作者: mephistone   发布时间: 2009-04-20

1楼真强,学习了

作者: yinkeng   发布时间: 2009-06-24

你是使用 wtp 作为web开发的插件吧 

这样他的服务器 引入和 myeclipse 的不同

的确是 在 你说的那个路径下 没什么

作者: chris25832002   发布时间: 2009-06-24

wtp的tomcat发布方式有点特殊,不是直接发布目录,而是同步到插件目录去,然后再发布,而插件目录,就是你的那个奇怪的地址

作者: applebomb   发布时间: 2011-09-23

这个问题确实很头疼,我花了一天的时间把各种情况都给试了一遍,终于搞定了
在web中访问servletConfig.getServletContext().getRealPath("/")这种可以
如果在类里面访问最好把地址编码一下urlencode(class.getclassLoader().getResource("/xx").getPath);
希望能帮到你...

作者: itcyt123   发布时间: 2011-12-14

热门下载

更多