stacked plate heat exchangers. If you want the water to get heated faster, you can get a larger and thicker stack plate. Heavily used for waste vegetable oil conversions, and also cold areas to pre-heat diesel fuel to prevent gelling.
about 15 years ago (before zodi) I used a water pump (same as the one in the zodi catalog- red white and blue) and stuck it in a small bucket with a copper tube coil. (back when 3/8th copper was cheap!). Because the coleman backpacking stove was small, I used a small soda can, to wrap the 3/8th copper around for shape and went vertical to capture as much heat as possible. Within a few minutes the water in the bucket was warm enough for me. I then turned off the stove, and used the same output hose to take a shower. It wasnt great (low water pressure), but it felt good to be clean!
I think 6 liters of water in a good spray is adequate for showering. 8 is very nice, 10 is luxurious, anything more is just royal!