I have a tomcat based web application. I am using JSP as the presentatio tier. I have a lot of static files(html, png, jpg) files which do not change in the lifetime of server instance. I want to know how I can improve loading of these files on the client(browser)
I have no idea. (Besides, you didn't say which browser.) Browsers come configured to cache content by default, so you must already have done something to your browser to stop it from doing that. Whatever it was, undo it.
Also make sure that during a deployment the timestamp on files that have not changed stays the same as before. That helps by causing a 304 response to be returned for files that have not changed since the browser last requested them.
One obvious solution is to not reference the static files through your JSP/servlet. Put them on a simple web server, and include the URL. Let the browser and Apache (or whatever you use) do the optimization.
Some high volume sites go so far as to have a separate static host and DNS entry, something like "http://images.coderanch.com" that used for all images.