Hallo,
ich habe jetzt die vorigen Postings plus Internetressourcen verwendet um das Anzeigen des JFreeChart Objekts über den OutputStream korrekt zu definieren. Ich habe das jetzt folgendermaßen gemacht.
In meiner jsp definiere ich das JFreeChart object in einem scriptlet und auch den content type und speicher beides im request.
Und mein Servlet sieht so aus:
//gemappt ist das Servlet sicher richtig, habe ich ausprobiert.
Und in der jsp habe ich dann unterhalb noch angeführt:
------------------------------------------------------------------------------------------------------------------------------------------
Aber wenn ich die jsp-site ausführe und dann das BinaryStreamServlet aufgerufen wird (bei img src), geht er in die service Methode des BinaryStreamServlet aber er findet im request kein contentType Attribute sowie auch kein LineChart Attribut - bekomme immer NullPointerExceptions.
Hat jemand eine Ahnung, was hier vielleicht noch falsch läuft?? :bahnhof:
LG pat
ich habe jetzt die vorigen Postings plus Internetressourcen verwendet um das Anzeigen des JFreeChart Objekts über den OutputStream korrekt zu definieren. Ich habe das jetzt folgendermaßen gemacht.
In meiner jsp definiere ich das JFreeChart object in einem scriptlet und auch den content type und speicher beides im request.
Code:
JFreeChart chart = demo.createChart(dataset);
request.getSession().setAttribute("LineChart", chart);
request.getSession().setAttribute("contentType", "image/png");
Und mein Servlet sieht so aus:
Code:
public class BinaryStreamServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException
{
String contentType = (String)req.getSession().getAttribute("contentType");
if (contentType == null || "".equals(contentType))
{
contentType = "image/png"; // default
}
res.reset();
res.setContentType(contentType);
OutputStream sos = res.getOutputStream();
ByteArrayOutputStream baos = (ByteArrayOutputStream)req.getSession().getAttribute("LineChart");
baos.writeTo(sos);
}
}
Und in der jsp habe ich dann unterhalb noch angeführt:
Code:
[img]BinaryStreamServlet[/img]
------------------------------------------------------------------------------------------------------------------------------------------
Aber wenn ich die jsp-site ausführe und dann das BinaryStreamServlet aufgerufen wird (bei img src), geht er in die service Methode des BinaryStreamServlet aber er findet im request kein contentType Attribute sowie auch kein LineChart Attribut - bekomme immer NullPointerExceptions.
Hat jemand eine Ahnung, was hier vielleicht noch falsch läuft?? :bahnhof:
LG pat