From your story I can see that it is not server cache, it is client caching issue.
A simple solution is to add some parameter to url, most of the time it will work, but not always.
<img name="uniqueName" id="uniqueName" src="http://server.com/servletURL?bla=bla" />
P.S. If you are using MSIE as a browser it will cache content regardless of your settings. Switch to Firefox.
Thanks for that. I worked it out late yesterday. I had a breakpoint on the servlet and on the second call to the page it never called the servlet. I added the uniqueID to the servlet querystring and hey presto it worked.
P.S We are using firefox :) I just added IE in there as it happened to produce the same results.