今天恰好有个上传文件的练习需要使用 request.getSession().getServletContext().getRealPath("upload/" ); 获取上传到服务器上的文件路径 C:\\apache-tomcat-7.0.47\\webapps\\CommonhelloWorldServlet \\upload 的目录,结果获取到的是 D:\eclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\CommonhelloWorldServlet ,并不是运行时的工程存放目录,得到的反而是工作空间的项目存放路径,我觉得应该是配置的问题,经过百度之后,果然得出猜想没错,步骤如下:
1、先在编辑器界面将现有 servlet 删除,再双击旋转 tomcat 7.0 版本新建 servlet,结果如下图:
发现配置如下图,解释了为啥获取到工作空间的路径了:
修改如下:
运行代码,效果如下,正常了: