在struts2中,上传文件的时候遇到一个很好用但是失效的方法,找到如下替代。并且测试了一下request可以得到的相关路径。
得到request对象:HttpServletRequest request = ServletActionContext.getRequest() 得到当前项目在服务器的绝对路径(方法失效,但是可用):String path1 = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/";// D:\javabao\apache-tomcat-7.0.34\webapps\billingsystem\upload 得到当前项目在服务器的绝对路径(推荐使用):String path2 = request.getSession().getServletContext().getRealPath("/upload/");// D:\javabao\apache-tomcat-7.0.34\webapps\billingsystem\upload 得到根url: String path1 = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/"; // http://127.0.0.1:8080/ 得到项目发布的名字:System.out.println(ServletActionContext.getRequest().getContextPath());// /mly 得到当前servlet路径;System.out.println(ServletActionContext.getRequest().getServletPath()); // /hello_uploadTitle.action