求教:Myeclipse作为开发工具,tomcat作为web服务器(struts1.2滴)做的一个上传模块,上传文件的保存路径是用这个来实现的this.getServlet().getServletContext().getRealPath("uploadfile")+"\\"+request.getParameter("projectName")+"\\"+request.getParameter("currJobid");
问题是这么回事,用MyEclipse来部署后,tomcat下的webapps文件夹下,有相应的工程。启动tomcat后,上传文件,保存在MyEclipse的workspace里面的工程下的文件夹下,而不是tomcat的相应的那个工程的文件夹下,这是怎么回事。期待大家的解答。

解决方案 »

  1.   

    getRealPath("uploadfile")这个是返回虚拟路径的绝对路径 他获得的是tomcat下的相对路径为uploadfile的绝对路径(目录位置)一般上传文件都是保存到web服务里的 如果说有特殊要求要保存到其他地方的话 我个人建议LZ专门创建一个properties文件用来维护上传文件的保存位置比较好些 
      

  2.   

    this.getServlet().getServletContext().getRealPath()  改为request.getsession().getRealPath()试试    
      

  3.   

    request.getSession().getServletContext().getRealPath()  上面写错了
      

  4.   

    request.getSession().getServletContext().getRealPath()这种方式,跟我提到的那种,产生的结果是一样的。tomcat的相应的那个工程的文件夹下,仍然没有上传的文件。,3Q all the same