request.getRealPath("/") 在window获取的是服务器的根目录,结尾包含分隔符,
如E:\apache-tomcat-6.0.29-bak\apache-tomcat-6.0.29\apache-tomcat-6.0.29\webapps\test\
在Linux下获取的不含分隔符,如:
/home/weblogic/Desktop/PTYT/ptytNetpay/WebRoot
因此需要判断处理:
String root = request.getRealPath("/"); if (!root.endsWith(java.io.File.separator)) { root = root + java.io.File.separator; }
最后 : request.getRealPath() 方法已经不推荐使用,推荐使用 request.getSession().getServletContext().getRealPath("/");