bonjour tout le monde,
je travaille avec jfreechart pour générer des chart, je voulais afficher les charts dans une page Jsp.
l'image est genere par une servlet et elle est mise dans outputStream de la servlet je me demande est ce que je peu apeler cet output dan une page jsp,,et si oui comment-?
le code de la servlet est le suivant
public class ServletDemo1 extends HttpServlet {
/**
* Creates a new demo.
*/
public ServletDemo1() {
// nothing required
}
private static org.jfree.data.jdbc.JDBCCategoryDataset readData() {
org.jfree.data.jdbc.JDBCCategoryDataset dataset = null;
String url = "jdbc:mysql://localhost/test";
com.mysql.jdbc.Connection con;
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = (Connection) java.sql.DriverManager.getConnection(url, "root", "tunisiana");
dataset = new org.jfree.data.jdbc.JDBCCategoryDataset(con);
String sql = "SELECT username,RCVbyte FROM proxy;";
dataset.executeQuery(sql);
con.close();
}
catch (java.sql.SQLException e) {
System.err.print("SQLException: ");
System.err.println(e.getMessage());
}
catch (Exception e) {
System.err.print("Exception: ");
System.err.println(e.getMessage());
}
return dataset;
}
/**
* Processes a GET request.
*
* @param request the request.
* @param response the response.
*
* @throws ServletException if there is a servlet related problem.
* @throws IOException if there is an I/O problem.
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
OutputStream out = response.getOutputStream();
try {
JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart",
"Category",
"Value",
readData(),
PlotOrientation.VERTICAL,
true, true, false
);
response.setContentType("image/png");
ChartUtilities.writeChartAsPNG(out, chart, 400, 300);
}
catch (Exception e) {
System.err.println(e.toString());
}
}
}