ServletResponse reference that is passed to a servlet doesn't refer to an existing object?
No, the object is real. I meant the actual HTTP response.
Container passes client's request as an input to Servlet -> Servlet processes the input and adds its output/response to the ServletResponse object and then passes on these objects to next in action (view for e.g.) -> View checks the ServletResponse and performs some action based on the what it found.
It's Servlet's response. So, isn't it more intuitive/logical to find it in a 'ServletResponse' object?
I'd consider that a rather uncommon design. I wouldn't start assembling the response until I knew what exactly I'm about to assemble. That doesn't mean that response post-processing isn't useful at all (HTTP compression comes to mind), but if it needs additional information, then that information is determined by the request, not the response. Of course, what's intuitive to one person needn't be intuitive to some other person. But I do think it's better to attach attributes only to one of the objects, not to both, as I mentioned before.