Я протестировал этот сервлет, и он хорошо работает, за исключением того, что в Google Chrome он не отображает изображение. Что может быть не так в этом примере кода, из-за которого Chrome не отображает изображение?
http://balusc.blogspot.com/2007/04/imageservlet.html
Я подозреваю, что пропущена следующая строка:
response.setHeader("Content-Length", String.valueOf(image.length()));
Некоторые браузеры могут быть требовательны к этому.