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 :

afficher un PNG sur un navigateur web à partir d'une servlet


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 afficher un PNG sur un navigateur web à partir d'une servlet
    Bonjour,

    J'utilise la librairie JFreeChart à mon travail et je suis un débutant en ce qui concerne cette librairie. Je souhaiterai, à partir de la librairie JFreeChart, fabriquer un PieChart ("Camembert") au format PNG ou JPEG (peu importe), et l'afficher, à partir d'une Servlet sur un navigateur web (sans passer par un fichier intermédiaire). Je m'explique, je veux que mon image PNG soit stockée dans un buffer et non par un fichier.

    Votre aide me serait d'un grand secours, merci.

  2. #2
    Membre habitué
    Profil pro
    Dev NodeJS
    Inscrit en
    Août 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev NodeJS

    Informations forums :
    Inscription : Août 2006
    Messages : 177
    Points : 181
    Points
    181
    Par défaut
    Bonjour, il suffit d'exporter le chart dans l'outputstream de ta servlet plutôt que dans un fichier:

    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
     
        /**
         * {@inheritDoc}
         * 
         * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
         */
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
            ServletOutputStream out = res.getOutputStream();
            res.setContentType("image/png");
     
            DefaultPieDataset pieDataset = new DefaultPieDataset();
            pieDataset.setValue("A", new Integer(75));
            pieDataset.setValue("B", new Integer(10));
            pieDataset.setValue("C", new Integer(10));
            pieDataset.setValue("D", new Integer(5));
            JFreeChart chart = ChartFactory.createPieChart(
                   "CSC408 Mark Distribution",
                    pieDataset, 
                    true, 
                    true, 
                    false);
            try {
                ChartUtilities.writeChartAsPNG( out, chart, 500, 300);
            } catch (Exception e) {
                System.out.println("Problem occurred creating chart.");
            }
        }
    }
    Je ne connais pas JFreeChart mais j'ai lu la javadoc: http://www.jfree.org/jfreechart/api/...,%20int,%20int)

Discussions similaires

  1. obtenir l'IP et le port du conteneur web à partir d'une servlet
    Par thierry_b dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 26/10/2009, 10h40
  2. Comment invoquer un service web à partir d'une servlet
    Par ramanov dans le forum Services Web
    Réponses: 1
    Dernier message: 02/06/2008, 00h21
  3. [Tableaux] Affiche table Mysql sur la page web
    Par naouah dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2007, 21h59
  4. [Compatibilité]Utilisation d'images .png sur un site web
    Par Loki13 dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 23/03/2007, 16h22
  5. PNG sur les pages Web
    Par Crayon dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 28/07/2006, 20h36

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