> However, I don't think it is legal/valid to
> have a "+" character in an encoded URI.

However, when you type in your browser http://localhost:8080/foo+/bar+/
then (hunchentoot: request-uri *) returns "/foo+ /bar+/" 
(not"/foo%2B/bar%2B/" ). I specifically checked that 
mod_autoindex (Apache) in such cases is also not encode +.

Andrey