日期:2014-05-17  浏览次数:20654 次

上传下载jspsmartupload,在servlet获取tomcat物理路径的问题
环境是xp+tomcat+myeclipse+sql server2005

我在servlet中想获取tomcat的物理路径,意图是想将新注册的用户根据账户的名称在制定的目录下创建用户文件夹,并将头像或其他图片文件存放在该文件夹中,在将url地址存入数据库。

但是遇到一个纠结的问题,就是物理路径的获取!



执行request.getRealPath();这方法时,getRealPath();中间会自动划一条横线,不清楚为何?
out.print(request.getRealPath("/images/AuthorImage")+"<br>");
提示:
Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
而显示的结果是:
D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\bbs\images\AuthorImage


.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
这文件说实话没有接触过,真的不是很了解,但是在网上搜了一下应该就是我创建项目所对应的临时目录,但是我想获取的是:
D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\bbs\WebContent\images\AuthorImage
这个则是实际创建的项目目录。


不知道怎么调和用什么方法解决?
是不是设置MyEclipse,那该如何设置?
还是有其他方法解决呢?


当然其他方法也尝试过:

out.println(request.getContextPath()+"<br>");
显示:/bbs

out.println(request.getRealPath("/")+"<br>");
显示:D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\bbs\

out.println(request.getRequestURI().toString()+"<br>");
显示:/bbs/register

out.println(request.getLocalAddr()+"<br>");
显示:127.0.0.1

ServletContext servletContext = config.getServletContext(); 
String rootPath = servletContext.getRealPath("/"); 
out.println(rootPath);

显示:D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\bbs\



以下方法尝试过,但没有反应:

通过下列方法可以获取环境变量的值:
System.getenv("CLASSPATH");
System.getenv("TOMCAT_HOME");

System.getProperty("TOMCAT_HOME");
System.getProperty("CLASSPATH");





------解决方案--------------------
request.getRealPath()这个方法已经被废弃了,用application.getRealPath("/");
打印的地址是D:\Tomcat6.0\webapps\bbs\