This is, for the most part, what the container would do if your images were within your web app and requested directly.
Take a look at the code to
Tomcat's DefaultServlet to see how it handles requests for static resources.
http://svn.apache.org/repos/asf/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java There is a lot more to sift through but when it comes down to it, it's doing the same thing:
Newer versions or other containers might be using nio to speed things up.
You also won't be able to take advantage of any caching capability unless you write your own.
Lastly, if you want to speed up performance for images that are requested frequently by the same user, you might want to add code to check the if-modified-since request header, compare that with the timestamp of the file and return the proper header instead of the entire image with each request.
Again, if you can move the images into your webapp, the container will do all of this for you.
[ November 27, 2008: Message edited by: Ben Souther ]