Вы не хотите писать в веб-контент программно.Все будет потеряно при каждом повторном развертывании веб-приложения.
Просто сохраните его на диск или в БД, используя FileOutputStream
или PreparedStatement#setBinaryStream()
, а затем получите сервлет, который получает InputStream
этого с диска или БД, используя FileInputStream
или ResultSet#getBinaryStream()
соответственно, а затем пишетэто к OutputStream
ответа по правильному набору заголовков ответа HTTP.Наконец, просто вызовите этот сервлет по его URL-адресу вместе с уникальным идентификатором ресурса или именем файла в качестве параметра запроса или pathinfo.