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 :

JFreeChart,Servlet et jsp!


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 138
    Par défaut JFreeChart,Servlet et jsp!
    j'ai trouvé une discussion dans ce froum j'essaye de faire la meme chose mais j'ai pas reussi pouvez vous m'aider
    Je vous presente les codes:
    * la classe BarChart:
    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
    package hist;
     
    import java.awt.Color;
    import java.awt.GradientPaint;
     
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.axis.CategoryAxis;
    import org.jfree.chart.axis.CategoryLabelPositions;
    import org.jfree.chart.axis.NumberAxis;
    import org.jfree.chart.plot.CategoryPlot;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.chart.renderer.category.BarRenderer;
    import org.jfree.data.category.CategoryDataset;
    import org.jfree.data.category.DefaultCategoryDataset;
     
    public class BarChart
    {
        private static CategoryDataset createDataset()
        {
            String s = "First";
            String s1 = "Second";
            String s2 = "Third";
            String s3 = "Category 1";
            String s4 = "Category 2";
            String s5 = "Category 3";
            String s6 = "Category 4";
            String s7 = "Category 5";
            DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
            defaultcategorydataset.addValue(1.0D, s, s3);
            defaultcategorydataset.addValue(4D, s, s4);
            defaultcategorydataset.addValue(3D, s, s5);
            defaultcategorydataset.addValue(5D, s, s6);
            defaultcategorydataset.addValue(5D, s, s7);
            defaultcategorydataset.addValue(5D, s1, s3);
            defaultcategorydataset.addValue(7D, s1, s4);
            defaultcategorydataset.addValue(6D, s1, s5);
            defaultcategorydataset.addValue(8D, s1, s6);
            defaultcategorydataset.addValue(4D, s1, s7);
            defaultcategorydataset.addValue(4D, s2, s3);
            defaultcategorydataset.addValue(3D, s2, s4);
            defaultcategorydataset.addValue(2D, s2, s5);
            defaultcategorydataset.addValue(3D, s2, s6);
            defaultcategorydataset.addValue(6D, s2, s7);
            return defaultcategorydataset;
        }
        public static JFreeChart createChart()
        {
            CategoryDataset categorydataset = createDataset();
     
            JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo", "Category", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false);
            jfreechart.setBackgroundPaint(Color.white);
            CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
            categoryplot.setBackgroundPaint(Color.lightGray);
            categoryplot.setDomainGridlinePaint(Color.white);
            categoryplot.setDomainGridlinesVisible(true);
            categoryplot.setRangeGridlinePaint(Color.white);
            NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
            numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
            BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
            barrenderer.setDrawBarOutline(false);
            GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(0, 0, 64));
            GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
            GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0));
            barrenderer.setSeriesPaint(0, gradientpaint);
            barrenderer.setSeriesPaint(1, gradientpaint1);
            barrenderer.setSeriesPaint(2, gradientpaint2);
            CategoryAxis categoryaxis = categoryplot.getDomainAxis();
            categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.52359877559829882D));
            return jfreechart;
        }
    }
    * la classe Graphe
    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
    package hist;
     
    import java.io.Serializable;
     
     
     
    public class Graphe implements Serializable
    {
    	private String map ;
    	private String src ;
    	private String useMap ;
     
    	public String getMap()
    	{
    		return map;
    	}
    	public void setMap(String map)
    	{
    		this.map = map;
    	}
    	public String getSrc()
    	{
    		return src;
    	}
    	public void setSrc(String src)
    	{
    		this.src = src;
    	}
    	public String getUseMap()
    	{
    		return useMap;
    	}
    	public void setUseMap(String useMap)
    	{
    		this.useMap = useMap;
    	}
    }
    * La servlet BarChartServlet:
    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
    package com.servlet.histo;
     
    import java.io.IOException;
     
    import hist.BarChart;
    import hist.Graphe;
     
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.jfree.chart.ChartRenderingInfo;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.entity.StandardEntityCollection;
    import org.jfree.chart.servlet.ServletUtilities;
     
    public class BarChartServlet extends HttpServlet
    {
    	public void service (HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
    	{
    	        JFreeChart jfreechart = BarChart.createChart() ;
     
                    ChartRenderingInfo chartRenderingInfo = new ChartRenderingInfo(new StandardEntityCollection());
     
                    int largeur = 900 ;
                    int hauteur = 600 ;
     
    		String filename = ServletUtilities.saveChartAsJPEG(jfreechart, largeur, hauteur, chartRenderingInfo, request.getSession());
     
    		Graphe graphe = this.initImage(request, chartRenderingInfo, filename);
     
    		request.setAttribute("graphe",graphe) ;
     
    		RequestDispatcher disp=getServletContext().getRequestDispatcher("/graphe.jsp");
    		disp.forward(request,response) ;
    	}
    	private Graphe initImage(HttpServletRequest request,ChartRenderingInfo chartRenderingInfo, String filename)
    	{
    		String map = ChartUtilities.getImageMap(filename, chartRenderingInfo);
    		String src = request.getContextPath()+"/servlet/DisplayChart?filename=" + filename ;
    		String useMap = "#" + filename  ;
     
    		Graphe graphe = new Graphe() ;
    		graphe.setMap(map);
    		graphe.setSrc(src) ;
    		graphe.setUseMap(useMap) ;
     
    		return graphe ;
    	}
    }
    et la jsp graphe:
    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
    <%@ page language="java"%>
    <%@ page import="hist.Graphe" %>
     
    <%
            Graphe graphe = (Graphe) request.getAttribute("graphe") ;
            String map = graphe.getMap() ;
            String src = graphe.getSrc() ;
            String useMap = graphe.getUseMap() ;
    %>
     
    <div align="center">
    	<%=map%>
    	</br>
    	<img src=<%=src%> usemap=<%=useMap%> border="0">
    </div>
    le web xml que j'ai utilisé est :
    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
    <web-app>
     
    	<servlet>
    		<servlet-name>BarChartServlet</servlet-name>
    	        <servlet-class>com.servlet.histo.BarChartServlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>BarChartServlet</servlet-name>
    		<url-pattern>/servlet/BarChartServlet</url-pattern>
     
     
     
    	</servlet-mapping>
    	<servlet>
    		<servlet-name>DisplayChart</servlet-name>
    	        <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>DisplayChart</servlet-name>
    		<url-pattern>/servlet/DisplayChart</url-pattern>
    	</servlet-mapping>
    </web-app>
    quand j'execute une servlet le message d'erreur suivant s'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Etat HTTP 404 - /histo/servlet/BarChartServlet
     
    --------------------------------------------------------------------------------
     
    type Rapport d'état
     
    message /histo/servlet/BarChartServlet
     
    description La ressource demandée (/histo/servlet/BarChartServlet) n'est pas disponible.
     
     
    --------------------------------------------------------------------------------
     
    Apache Tomcat/6.0.20
    Merci pour votre aide!

  2. #2
    Membre confirmé Avatar de imad_eddine
    Inscrit en
    Août 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 74
    Par défaut
    Bonjour,


    Est ce que tu peux fournir un exemple d'initialisation de l'objet Graphe ( valeurs de map ,src useMap )

  3. #3
    Membre confirmé Avatar de imad_eddine
    Inscrit en
    Août 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 74
    Par défaut
    Je testé l'exemple avec JfreeChart 1.0. ça marche . Y a bien des barres qui s'affichent.
    As tu vérifié que tu as tous les Jars requis par jfreechart ?

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Dans le web.xml, il faut d'abord définir toutes les balises <servlet> et ensuite toutes les balises <servlet-mapping> :
    Code xml : 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
    <web-app>
    	<servlet>
    		<servlet-name>BarChartServlet</servlet-name>
    	        <servlet-class>com.servlet.histo.BarChartServlet</servlet-class>
    	</servlet>
    	<servlet>
    		<servlet-name>DisplayChart</servlet-name>
    	        <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>BarChartServlet</servlet-name>
    		<url-pattern>/servlet/BarChartServlet</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>DisplayChart</servlet-name>
    		<url-pattern>/servlet/DisplayChart</url-pattern>
    	</servlet-mapping>
    </web-app>

Discussions similaires

  1. Affichage d'un Jfreechart dans une JSP/Servlet
    Par marouene_ dans le forum Servlets/JSP
    Réponses: 27
    Dernier message: 25/04/2012, 13h02
  2. [jsp][servlet] communication jsp servlet
    Par villeneuvejsp dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 03/10/2005, 15h36
  3. [ SERVLET ] [JSP ] Redirection servlet vers JSP
    Par Enfa dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/02/2005, 14h55
  4. [servlet][tableau][jsp]
    Par phileme dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 09/07/2004, 11h44
  5. [Debutant]contexte d'une Webapp servlet et jsp
    Par yahia dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/10/2003, 10h43

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