Это действительно зависит от того, как фактические изображения получены и для чего они используются.
Если вы создаете веб-сайт для обмена фотографиями, например, где изображения являются первоклассными гражданами, я полностью согласен с ответом duffymo - они должны быть загружены служебным слоем и быть часть модели.
Если, с другой стороны, рассматриваемые изображения носят чисто презентационный характер и доступны в качестве общедоступных изображений в вашем веб-приложении (например, вы можете отображать состояние какого-либо процесса в виде красного / желтого / зеленого цвета), вы может сделать их прямо в поле зрения. Конечно, в этом сценарии довольно странно сохранять фактические пути к изображениям в базе данных - я бы предпочел предположить, что путь к изображениям будет храниться где-то в комплекте ресурсов.
Используя последний подход, предположительно, ваши пути к изображениям относительно некоторой «базовой» папки, а полный путь к изображению будет выглядеть примерно так: ${prefix}/${base}/${imagePath}
:
prefix
, в зависимости от конфигурации развертывания, может быть явно указан где-то в конфигурации (например, если у вас выделенный сервер изображений) ИЛИ может быть простым, например /context
, где context
- это путь, по которому ваш Веб-приложение развернуто (если все обслуживается с одного простого сервера, без балансировки нагрузки и т. д.)
base
будет взято из конфигурации (или может быть пустым)
imagePath
это то, что вы получаете от модели
Рендеринг пути изображения напрямую через JSP должен быть тривиальным с использованием описанного выше подхода.