servlet中获得tomcat项目根目录的绝对路径
public class CreateXmlAction extends HttpServlet {
private ServletConfig config;
    public void init(ServletConfig config) throws ServletException {
        this.config = config;
    }
public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  String  filePath = config.getServletContext().getRealPath("/");
 }
}
或者直接在继承了HttpServlet的Servlet中写:
Java代码 String  filePath=this.getServletConfig().getServletContext().getRealPath("/");
springmvc
String path=request.getSession().getServletContext().getRealPath("upload/img/product");
//二进制上传
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
//获取文件
CommonsMultipartFile fpic=(CommonsMultipartFile) multipartRequest.getFile("fpic");
//判断是否有文件提交
if(fpic!=null){
if(!fpic.isEmpty()){
  String time=DataUtil.getCurrentTimeMillis();
  String path=request.getSession().getServletContext().getRealPath("upload/img/product");
  File file = new File(path+"/"+time+ ".jpg");
  fpicurl = "upload/img/product/p"+time+".jpg";
  try {
     fpic.getFileItem().write(file);
  } catch (Exception e) {
     e.printStackTrace();
     return;
  }
}
}
ssh
    使用Struts2的ServletActionContext可以得到项目的真实路径
    假如,项目名称为BookSystem,部署到Tomcat的webapps目录下,则
String path=ServletActionContext.getServletContext().getRealPath("/");
path取出的路径为:D:\apache-tomcat-7.0.16\webapps\BookSystem
即:BookSystem项目部署到服务器的完整路径
取出上传路径,并保证路径存在的代码如下:
Action类中部分代码:
//取出当前项目部署在服务器上的路径
String path=ServletActionContext.getServletContext().getRealPath("/");
//构建当前项目下的存放目录
String filePath=path+"images";
//构建文件对象
File folder=new File(filePath);
//检测文件夹是否存在,如果不存在,则新建images目录
if(!folder.exists()){
    folder.mkdir();
}