Without seeing the code, it would be difficult to tell but are you updating your `demo` object so that it always fetches a new buffered image?
Also, this approach isn't a good one. You can at a given time write out only a single type of entity (to put it in simple terms); which is the reason why you set the content type of your writer/outputstream before writing out the response. A better solution here would be to have four IMG tags on your web page having different SRC values. For each SRC value, an appropriate byte stream would be retrieved for a given image and displayed to the browser.
Something like:
<html>
<head><title>Hi</title></head>
<body>
<img src="/yourapp/img/img1" /><br/>
<img src="/yourapp/img/img2" /><br/>
<img src="/yourapp/img/img3" /><br/>
<img src="/yourapp/img/img4" /><br/>
</body>
</html>