IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Temps d'attente lors d'affichage d'un résultats d'une servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut Temps d'attente lors d'affichage d'un résultats d'une servlet
    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();
    }
    }
     
    	}

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonsoir,

    J'aurais tendance à dire qu'il y a un problème sur la requête SQL.
    Celle-ci lie trois tables sans aucun critère de jointure, ce qui produit un résultat avec autant de lignes que le produit du nombre de lignes de chaque table.

  3. #3
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    Tu penses qu'il vaut mieux de faire trois resultset:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ResultSet rs1 = con.execute("select ftp from table1 where (date=left(now(),10)) order by heure;");   
     
    ResultSet rs2 = con.execute("select ftp from table2 where (date=left(now(),10)) order by heure;");   
    ResultSet rs3 = con.execute("select ftp from table3 where (date=left(now(),10)) order by heure;");
    Mais peut-etre par la suite il y'aura un probleme dans la boucle While

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/11/2009, 09h59
  2. [MySQL] Affichage trié des résultats d'une table
    Par baggie dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2009, 11h27
  3. [MySQL] Affichage structuré du résultat d'une requête
    Par kayne dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/03/2009, 00h47
  4. [AJAX] Ajax xmlhttpRequest : affichage d'un résultat dans une div
    Par kataboy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/12/2007, 15h47
  5. Pb affichage d'un résultat d'une cellule
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/10/2006, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo