一、user java class
test pass under Window platform
public class Util {
/**
* Get web application root real path
*
*/
public static String getWebAppRootPath() {
String result = Util.class.getResource("Util.class").toString();
System.out.print(result);
int index = result.indexOf("WEB-INF");
if (index == -1) {
index = result.indexOf("bin");
}
result = result.substring(0, index);
if (result.startsWith("zip")) { // class at *.war ,"zip:D:/ ..."
result = result.substring(10);
} else if (result.startsWith("file")) { // class at classes, "file:/f:/ ..."
result = result.substring(6);
}else if(result.startsWith("jar")){ // class at *.jar, "jar:file:/F:/ ..."
result = result.substring(4);
}
if (result.endsWith("/")) result = result.substring(0, result.length() - 1);
result = result.replace("%20", " ");
return result;
}
}
二、user Web application object
JSP:
<%= application.getRealPath("/") %>
Servlet:
this.getFilterConfig().getServletContext().getRealPath("/");//invoke at servlet filter
Struts2:
org.apache.struts2.ServletActionContext.getServletContext().getRealPath("/");