当前位置:编程学习 > JAVA >>

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

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

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

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

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


在这里选一种吧
--------------------编程问答-------------------- 1楼的结果和我一样; --------------------编程问答-------------------- 1楼真强,学习了
--------------------编程问答-------------------- 你是使用 wtp 作为web开发的插件吧 

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

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

--------------------编程问答-------------------- wtp的tomcat发布方式有点特殊,不是直接发布目录,而是同步到插件目录去,然后再发布,而插件目录,就是你的那个奇怪的地址 --------------------编程问答-------------------- 这个问题确实很头疼,我花了一天的时间把各种情况都给试了一遍,终于搞定了
在web中访问servletConfig.getServletContext().getRealPath("/")这种可以
如果在类里面访问最好把地址编码一下urlencode(class.getclassLoader().getResource("/xx").getPath);
希望能帮到你...
补充:Java ,  Eclipse
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,