Weblogic war包部署时获取Web根目录问题
在Weblogic当中如果以war包方式部署则不能用request.getRealPath("/")获取web根目录,
this.getClass().getClassLoader().getResource("/").getPath()即可获取:
/** * 获取web目录,Weblogic 默认以war包部署的时候不能用getRealPath * getResource("/")获取的是当前应用所在的类路径,截取到WEB-INF * 之后的路径就是当前应用的web根目录了 * @param request * @return */ public String getDocumentRoot(HttpServletRequest request){ String webRoot = request.getSession().getServletContext().getRealPath("/"); if(webRoot == null){ webRoot = this.getClass().getClassLoader().getResource("/").getPath(); webRoot = webRoot.substring(0,webRoot.indexOf("WEB-INF")); } return webRoot; }