Прежде всего: getRealPath устарела. (сравните: Интерфейс ServletRequest ). Вы должны попробовать это вместо этого (начиная со спецификации 2.1):
ServletContext context = session.getServletContext();
String realContextPath = context.getRealPath(request.getContextPath());
Раньше это сильно зависело от реализации сервера. В соответствии со спецификацией было разрешено возвращать ноль, если приложение было развернуто в виде заархивированного модуля (war, ear и т. Д.). Я считаю, что этого никогда не происходило, например, с WebLogic. Он вернул путь к временному каталогу, в который были распакованы архивы. Итак, чтобы сделать длинный ответ коротким:
Ваш код будет выглядеть примерно так:
x:\your\path\on\drive\images\logos\somename.ext
Невозможно использовать это как URL изображения.