Bonjour,

j'ai une servlet qui doit se connecter à plusieurs tables dans une base de données puis afficher les contenu de la table sous forme de courbes, j'ai testé ma servlet avec une seule table, elle marche nickel, elle affiche les valeurs d'une seule table, sauf que lorsque je tente d'afficher les résutats de plusieurs tables, ca prend énormement de temps pour afficher la page Web , et parfois elle ne s'affiche pas, je ne comprend pas c'est quoi le problème

Voici le code de ma servlet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
 
 
public class Compare extends HttpServlet {
	/**
	 * 
	 */int i=0;
	private static final long serialVersionUID = 1L;
	@SuppressWarnings("deprecation")
	protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, SQLException {
 
		response.setContentType("image/png");
 
 
			connexionBD con = new connexionBD();	
 
            ResultSet rs = con.execute("select table.heure,table.ftp,table2.ftp,table3.ftp from table,table2,table3 where (table.date=left(now(),10)) order by heure;");   
            final TimeSeries series = new TimeSeries("Débit  1", Minute.class);
        	final TimeSeries series1 = new TimeSeries("Débit 2", Minute.class);
        	final TimeSeries series2 = new TimeSeries("Débit  3", Minute.class);
            while(rs.next()){
 
            	Timestamp v1;
 
    			v1 = rs.getTimestamp("heure");
 
                  double v2=rs.getDouble("table.ftp");
          		double v3=rs.getDouble("table2.ftp");
          		double v4=rs.getDouble("table3.ftp");
          		series.addOrUpdate( new Minute(v1), v2);
        		series1.addOrUpdate( new Minute(v1), v3);
        		series2.addOrUpdate( new Minute(v1), v4);
 
             }
             rs.close();
             DateAxis domain = new DateAxis("Time");
        	 NumberAxis range = new NumberAxis("Débit en Ko/s");
 
            final TimeSeriesCollection dataset = new TimeSeriesCollection(series);
            dataset.addSeries(series1);
            dataset.addSeries(series2);
            XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
            renderer.setSeriesPaint(0, Color.green);
 
            renderer.setSeriesPaint(2, Color.red);
 
            XYPlot plot = new XYPlot(dataset, domain, range, renderer);
            plot.setBackgroundPaint(Color.lightGray);
            plot.setDomainGridlinePaint(Color.white);
            plot.setRangeGridlinePaint(Color.white);
            plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));
 
            range.setAutoRange(true);
            range.setLowerMargin(0.0);
            range.setUpperMargin(0.0);
            range.setTickLabelsVisible(true);
            range.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
 
            JFreeChart chart = new JFreeChart(plot);
            chart.setTitle(new TextTitle("Comparaison du débit ftp"));
            XYItemRenderer r = plot.getRenderer();
            if (r instanceof XYLineAndShapeRenderer) {
                XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) r;
                renderer1.setBaseShapesVisible(true);
                renderer1.setBaseShapesFilled(true);
            }
 
 
 
 
 
                 final ChartPanel chartPanel = new ChartPanel(chart);
                 chartPanel.setPreferredSize(new java.awt.Dimension(600, 300));
                 chartPanel.setMouseZoomable(true, false);   
 
                 OutputStream out = response.getOutputStream();
                 ChartUtilities.writeChartAsPNG(out, chart, 700, 500);   
                   request.setAttribute("image",out);
 
 
 
	}
 
	 protected void doGet(HttpServletRequest request, HttpServletResponse response)
     throws ServletException, IOException {
 try {
	processRequest(request, response);
} catch (SQLException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
}
	 protected void doPost(HttpServletRequest request, HttpServletResponse response)
     throws ServletException, IOException {
 try {
	processRequest(request, response);
} catch (SQLException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
}
 
	}