Существует код, который в конечном итоге должен касаться видеокарты или, по крайней мере, работающей графической подсистемы в Java. Если вы запустите этот код в системе, в которой не включена графика, вы получите исключение HeadlessException.
Вы выполняете свой код в сервлете, который представляет собой фрагмент кода, который обычно возвращает веб-страницу. Поскольку веб-страница представляет собой одну большую строку, содержащую все правильные теги, веб-странице не требуется графическая среда. Эта строка принимается веб-браузером, и веб-браузер обычно имеет графическую среду для отображения результатов.
На вашем веб-сервере вы просите генератор веб-страниц (сервлет) открыть диалоговое окно. Это создает проблемы по ряду причин:
- Диалоговое окно будет отображаться на веб-сервере, а не на веб-клиенте.
- Веб-сервер имеет только один экран, и диалоговые окна будут отображаться в соответствии с людьми, просматривающими веб-страницу.
- Поскольку сервер потенциально может обрабатывать множество клиентов одновременно, сервер настроен на использование минимального количества ресурсов для каждого клиента.
- Поскольку сервер возвращает элементы только в веб-браузеры, ему не нужна графическая среда.
Все эти объединенные точки означают, что сервлет не будет настроен для доступа к графической среде, и не будет возможности отобразить всплывающее диалоговое окно; потому что нет графической среды, доступной для отображения диалога.
Как правило, вы не можете смешивать свинг / awt-код с сервлетами; однако существует подмножество графических операций, доступных как в размахе, так и в awt, которые позволяют манипулировать изображениями без необходимости в графической среде. Это должно облегчить разработку преобразования и построения изображений в среде обработки файлов, где изображения никогда не будут отображаться программой. Рассмотрим в качестве примера конвертер .png в .jpg, если он никогда не показывает изображение, программа может открывать изображения (и) и выполнять работу, а также закрывать изображения без использования видеокарты.