*/
protected Environment getEnvironment(String uri,
HttpServletRequest req,
HttpServletResponse res)
throws Exception {
HttpEnvironment env;
URL url = null;
String path = this.servletContext.getRealPath("/");
if (log.isDebugEnabled()) {
log.debug("getRealPath for /: " + path);
}
if (path == null) {
// Try to figure out the path of the root from that of WEB-INF
path = this.servletContext.getResource("/WEB-INF").toString();
if (log.isDebugEnabled()) {
log.debug("getResource for /WEB-INF: " + path);
}
path = path.substring(0,path.length() - "WEB-INF".length());
if (log.isDebugEnabled()) {
log.debug("Path for Root: " + path);
}
}
if (path.indexOf(':') > 1) {
url = new URL(path);
} else {
url = (new File(path)).toURL();
}
if (log.isDebugEnabled()) {
log.debug("URL for Root: " + url);
}
env = new HttpEnvironment(uri,
url,
req,
res,
this.servletContext,
(HttpContext)this.appContext.get(Constants.CONTEXT_ENVIRONMENT_CONTEXT));
env.setLogger(this.log);
return env;
}