public ActionContextImpl(
	HttpServletRequest request, HttpServletResponse response,
	VariableResolver resolver, FunctionMapper mapper) {
		_request = request;
		_response = response;
		String path = request.getServletPath();
		if (path == null || path.length() == 0)
			path = "/"; //in case that some container might not follow spec
		String pi = request.getPathInfo();
		if (pi != null && pi.length() > 0) {
			if (pi.charAt(0) == '/')
				path = path.charAt(path.length() - 1) == '/' ?
					path + pi.substring(1): path + pi;
			else
				path = path.charAt(path.length() - 1) == '/' ?
					path + pi: path + '/' + pi;
		}
		_path = path;
		_mapper = mapper;
		_resolver = new ActionResolver(resolver);
	}