下面这句话有点不理解
String realPath=ServletActionContext.getRequest().getRealPath("/upload");
System.out.println(realPath);
请问下你们认为realPath会打印出什么?是D:\Tomcat6.0.18\apache-tomcat-6.0.18\webapps\Struts2\upload,这是我的tomcat安装目录,反正我是这样认为的,不过打印出来的和我想的不一样,请大家帮忙解释下,我打印出来的是我MyEclipse的工作区间的Struts2\WebRoot\upload,而且我上传的文件,都跑到这个目录下去了,我tomcat下的upload中根本就没有我上传的文件,这点搞的我有点晕

解决方案 »

  1.   

    是不是学Struts2的人很少啊,怎么我最近几次提的关于Struts2的问题,基本上都没有解决,
      

  2.   

    应该是tomcat下的路径,尽量避免用这个,因为如果是war包的话,会得到null通常的做法你是在配置文件里写上路径,比如xxx.properties中定义,加入该文件放到了classpath下,内容为
    filedir=d:\\filedir用java读取InputStream in=request.getSession().getServletContext().getResourceAsStream("/WEB-INF/classes/xxx.properties"); 
    Properties p=new Properties();
    p.load(in); 
    String mainPath = p.getProperty("filedir");......
      

  3.   

    struts2的话,文件上传的绝对路径不是可以在struts.xml中配置吗。
      

  4.   

    String filePath = servlet.getServletContext().getRealPath("\\")+ "upload\\";
    我这样就是得到的tomcat下的目录啊