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 :

Développement web, graphique JFreeChart


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Développement web, graphique JFreeChart
    Bonjour,

    Je développe actuellement un site web avec des servlets, bean, jsp (modèle MVC) et je souhaiterai y rajouter des graphiques (camenberts, histogrammes) à l'aide de JFreeChart!!!

    En faîtes, à l'aide des démos, je souhaiterai à partir d'un bean, créer un graphique et le sauvegarder dans un fichier, la jsp appelant le fichier par la suite!!! (sans oublier la servlet permettant d'initialiser le bean).

    Mon problème est que dans ma servlet, je ne peux pas appeler mon bean à cause de la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static void main(String[] args)
    , méthode figurant dans toutes les démos pour créer des graphiques!!!!
    Et si je l'enléve et que j'appele cette méthode du genre et bien ca ne marche pas, que dois je faire?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Bonjour il te faut à partir de ta servlet appeler une class qui lui renvera ton graphique dans un bytearrayoutputstream, lequel sera repris puis affiché.
    Ci dessous le schéma que j'utilise pour 2 graphiques.
    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
     
    public class Indicateur {
     
     
    		/**Indicateur des saisies
    		 * Lance les méthodes associées à chaque graphique
    		 * Concatène les graphiques en image .png
    		 * @param session
    		 * @param stmt Statement
    		 * @param req requête
    		 * @return baos un stream d'image .png de type ByteArrayOutputStream()
    		 */
     
    		public static ByteArrayOutputStream main(final HttpSession session,final Statement stmt, final HttpServletRequest req) {
    			BufferedImage image1;
    			BufferedImage image2;
    			JFreeChart chart = null;
     
    			//création histo des compteurs relevé du mois par cie
    			chart = cptMois(stmt,req);
     
    			//enregistrement du graphique en fichier image temporaire .png
    	        image1 = chart.createBufferedImage(700,400);
     
    	        //sauvegarde 'nbreDeMateriels' du mois dans t_parametre -> Chp 
     
    	        //création combiné des cpt relevés par mois
    	        chart = cptAnnu(stmt,req);
     
    	        //enregistrement du graphique en fichier image temporaire .png
    	        image2 = chart.createBufferedImage(700,400);
     
    	        //compilation des 2 graphiques
    	        image1 = addImage(image1, image2);
     
    	        session.setAttribute("sqlexport", "val");
    	        session.setAttribute("val", val);
     
    	        //création d'un stream
    	        ByteArrayOutputStream baos = new ByteArrayOutputStream();
    	        try{ImageIO.write( image1,"png",baos );}catch(final IOException e){e.printStackTrace();}
     
    	        return(baos);
    		}
     
    	    	public static JFreeChart cptMois(final Statement stmt, final HttpServletRequest req) {
    .....
    .....
    	    		return(chart);
    	        }
     
     
    	    public static JFreeChart cptAnnu(final Statement stmt, final HttpServletRequest req) {
    .....
    .....
        		return(chart);
            }
     
    		/**
    		 * Méthode d'addition des 2 images(graphique)
    		 * @param image1 image du graphique mensuel
    		 * @param image2 image du graphique annuel
    		 * @return img une image du type BufferedImage()
    		 */
     
    		public static BufferedImage addImage(final BufferedImage image1, final BufferedImage image2){
    			BufferedImage img = new BufferedImage(700,800,BufferedImage.TYPE_INT_RGB);
    			Graphics2D g2d = img.createGraphics();
    			//addition des 2 graphiques
    			g2d.drawImage(image1, 0, 0, null);
    			g2d.drawImage(image2, 0, 401, null);
    			g2d.dispose();
    			return img ;
    		}
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    D'accord sauf que la c'est ta servlet qui renvoie l'image alors que moi je veux que ce soit ma JSP qui appelle l'image!!!

    D'autre part, ma servlet utilise public void doAction ("Méthode DoGet") alors que toi tu utilises , je ne peux pas inclure ces 2 méthodes sur la même servlet sinon mes beans ne fonctionneront plus.

    Associer les servlet, les fichiers java et les jsp n'est pas de tout repos mais avec JFreeChart, je suis pas sorti de l'auberge

    Le problème est que je souhaite créer mon graphique grâce à des résultats calculé avant et lorsque je met en paramètre les méthodes (résultats dynamique) et bien ca plante à cause du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public static void main
    .

    En gros il me dit que mes résultats ne sont pas statiques (je m'en serai douté) mais y a t-il un autre moyen pour créer mes graphiques dynamiquement? Une autre méthode?

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/05/2010, 15h30
  2. [Partenaire] Echange design graphique contre développement web
    Par Laurentv75 dans le forum Autres
    Réponses: 0
    Dernier message: 13/12/2009, 13h59
  3. Développement Web, quelle interface graphique?
    Par YobsDebutant dans le forum Frameworks Web
    Réponses: 13
    Dernier message: 08/06/2008, 14h15
  4. [Plugin] Développement web
    Par olivangel dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 14/10/2004, 09h36
  5. [Kylix] Kylix et le développement web...
    Par nahmsath dans le forum EDI
    Réponses: 4
    Dernier message: 24/10/2002, 20h27

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