У меня есть устаревшее приложение, которое использует файлы servlet + jrxml для представления отчетов пользователям;эти отчеты должны получать доступ к некоторым изображениям через сервлет
. Сервлет изображения отображается как / images / и в файле web.xml защищен следующим образом:
<security-constraint>
<web-resource-collection>
<web-resource-name>images</web-resource-name>
<url-pattern>/images/*</url-pattern>
</web-resource-collection>
</security-constraint>
В отчетах используется сервлет дляполучить некоторые данные, а затем использовать JasperRunManager для создания PDF-файла на основе некоторого файла JRXML;код выглядит примерно так:
inputStream = this.getClass().getResourceAsStream(jrxmlFileName);
connection = getDatabaseConnection();
parameters.put("IS_IGNORE_PAGINATION", false);
bytes = JasperRunManager.runReportToPdf(inputStream, parameters, connection);
servletOutputStream.write(bytes, 0, bytes.length);
Сервлет отчета отображается аналогично сервлету изображений
<security-constraint>
<web-resource-collection>
<web-resource-name>report</web-resource-name>
<url-pattern>/report</url-pattern>
</web-resource-collection>
</security-constraint>
Но когда я запускаю сервлет отчета, он не может получить доступ к изображениям в /сервлет изображений;я знаю, что это какая-то проблема безопасности, потому что если я отключу ограничение безопасности для сервлета изображений, то отчет будет работать нормально
есть ли способ это исправить?