Эти sys.path
список содержит список каталогов, которые будут искаться модули во времени выполнения:
python -v
>>> import sys
>>> sys.path
['', '/usr/local/lib/python25.zip', '/usr/local/lib/python2.5', ... ]
Включите в ваш JSP-файл тег, где атрибут src - это имя вашего сервлета. Затем сервлет просто возвращает диаграмму PNG:
OutputStream out = response.getOutputStream();
response.setContentType("image/png");
ChartUtilities.writeChartAsPNG(out, chart, width, height);
JSP-страницы действительно предназначены только для вывода HTML или других текстовых данных. Хотя вы можете заставить JSP выводить PNG, в этом нет никакой пользы.
Похоже, вы хотите создать динамическую страницу, которая обновляется в зависимости от состояния раскрывающегося меню менять. Для этого вам нужно использовать Javascript, который срабатывает при изменении меню и обновляет значение атрибута src тега img. Затем браузер перезагрузит изображение из вашего сервлета с новой диаграммой.
Я бы посоветовал вам использовать класс ServletUtilities . Он сохраняет в java tempdir И очищает, когда сеанс становится недействительным. :) Еще один совет для отображения файла - использовать сервлет DisplayChart для получения изображений. Это входит в web.xml
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
Вот как вы отображаете изображение с помощью jstl:
<img src="<c:url value='/servlet/DisplayChart?'><c:param name='filename' value='${yourFileNameHERE}' /></c:url>" alt=""/>