Закрывает ли Struts2 «InputStream» после получения результата?
-
27-10-2019 - |
Вопрос
У меня есть действие в struts 2
, где он открывает код FileInputStream
, считывает изображение и показывает его в формате jsp.
Вопрос в том, что когда struts завершит получение изображения, будет ли он автоматически обрабатывать код FileInputStream
и сгенерировать его, или поток останется с close()
?
Решение
Struts2 позаботится о закрытии входного потока после того, как выполнит всю работу за вас.
Вот ссылка на исходный код, и вы очень хорошо видите, что поток был закрыт.
Исходный код Struts2 StreamResult
Вот фрагмент кода оттуда же:
родовое словоНадежда даст вам четкое представление о том, как идут дела.
Другие советы
Результат закроет входной поток;все действие - это поток.Ваш код больше не контролирует входной поток после возврата действия.
Соответствующий код находится в коде org.apache.struts2.dispatcher.StreamResult:doExecute
.