In many applications of structural engineering, the following question arises: given a set of forces f(1), f(2),..., f(N) applied at prescribed points x(1), x(2),..., x(N), under what constraints on the forces does there exist a truss structure (or wire web) with all elements under tension that supports these forces? Here we provide answer to such a question for any configuration of the terminal points x(1), x(2),..., x(N) in the two- and three-dimensional cases. Specifically, the existence of a web is guaranteed by a necessary and sufficient condition on the loading which corresponds to a finite dimensional linear programming problem. In two dimensions, we show that any such web can be replaced by one in which there are at most P elementary loops, where elementary means that the loop cannot be subdivided into subloops, and where P is the number of forces f(1), f(2),..., f(N) applied at points strictly within the convex hull of x(1), x(2),..., x(N). In three dimensions, we show that, by slightly perturbing f(1), f(2),..., f(N), there exists a uniloadable web supporting this loading. Uniloadable means it supports this loading and all positive multiples of it, but not any other loading. Uniloadable webs provide a mechanism for channelling stress in desired ways.