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 :

Affichage d'image dans ma JSP


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Par défaut Affichage d'image dans ma JSP
    Bonsoir, j'ai un petit problème qui ralentit un peu mon avancement dans mon projet J2EE puisque toute mon application web repose sur l'affichage d'images.
    Ma servlet appelle une classe qui se charge de générer un graphe à l'aide de JFreeChart, tout se passe très bien, j'obtiens un graphe dans le répertoire "image" sans aucun problème.Puis ma servlet délègue l'affichage à ma page jsp, mais cette dernière ne m'affiche pas le résultat directement, c'est après des "F5" successifs que j'obtiens mon graphe et ce n'est pas vraiment pratique.
    j'espère que j'ai été très clair, et je vous remercie d'avance.
    excellente fin de soirée

  2. #2
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonsoir,

    Mets ton code qu'on puisse voir où ça pêche
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Par défaut Re
    Bonsoir et merci pour ta réponse.
    1- le code da ma classe 'Creer' qui utilise JFreeChart
    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 Traiter;
     
    import java.io.File;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.data.general.DefaultPieDataset;
     
     
     
     
     
     
    public class Creer {
     
        public String dessiner() throws SQLException{
     
            Connection con = new ConnexionBD().createCon();
            String sql ="select dept.dname, count (*) as empno from dept, emp where dept.deptno = emp.deptno group by dept.dname";
            Statement st= con.createStatement();
            ResultSet res = st.executeQuery(sql);
     
            DefaultPieDataset pieDataset = new DefaultPieDataset();
            String a ;
            int b;
            while (res.next()){
                a= res.getString(1);
                b= Integer.parseInt(res.getString(2));
                pieDataset.setValue(a, new Integer(b));
            }
     
            JFreeChart chart = ChartFactory.createPieChart("Employe per Departement",pieDataset, true,true,false);
           File image = new File ("C:\\Documents and Settings\\Administrateur\\Mes documents\\NetBeansProjects\\Emp\\web\\image\\char1.jpg");
           //File image = new File ("web\\image\\char.jpg");
            try {
    ChartUtilities.saveChartAsJPEG(image, chart, 500, 300);
    } catch (Exception e) {
    System.out.println("Problem occurred creating chart.");
    }
     
     
     
     
            return image.getName();
        }
     
    }
    2- Le code de ma servlet 'Test', elle fait appel à ma classe 'Creer' puis cède l'affichage du graphe à une page JSP
    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
     
     
    package Traiter;
     
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    public class Test extends HttpServlet {
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException, SQLException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
     
                String image = new Creer().dessiner();
                 request.setAttribute("p",image);
                           getServletContext().getRequestDispatcher("/index.jsp")
    .forward(request,response);
            } finally {            
                out.close();
            }
        }
     
     
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            try {
                processRequest(request, response);
            } catch (SQLException ex) {
                Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
     
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
           // processRequest(request, response);
        }
     
     
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    }

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Par défaut RE
    3- et enfin ma page JSP, supposée se charger de l'affichage, et c'est là ou réside le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <IMG SRC="image/<%= request.getAttribute("p") %>"/>
    j'aimerais bien le signaler une deuxième fois, mon graphe est généré, il est dans l'emplacement voulu mais l'affichage au niveau de la jsp ne se fait qu'après des "F5" ou bien ré-exécuter le programme tout entier.
    Merci encore une nouvelle fois.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Par défaut
    Personne n'a une solution à mon problème ?
    il me reste seulement à afficher mon image créée, chose que je n'ai pas su faire et c'est sur cette image que repose tout mon projet, il me reste pas beaucoup de temps pour présenter ma 2ème maquette alors SVP aidez-moi. Je vous demande pas l'impossible tout de même

  6. #6
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    Ton problème vient du cache des ressources (images, pages, css, ...) de ton navigateur.

    Un solution simple et rapide est d'ajouter un paramètre à l'URL de ton image.
    Ce paramètre a une valeur aléatoire. Le navigateur croira qu'une nouvelle ressource est demandée. Et il demandera au serveur cette image au lieu de la charger depuis son cache.

    La valeur de ce paramètre peut être la date et l'heure actuelle en milliseconde.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <IMG SRC="image/<%= request.getAttribute("p") %>?_=<% (new Date()).getTime() %>"/>

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

Discussions similaires

  1. Réponses: 28
    Dernier message: 18/05/2010, 15h14
  2. Réponses: 4
    Dernier message: 24/03/2009, 10h19
  3. problème d'affichage de styles et images dans ma jsp
    Par casho dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/03/2009, 18h42
  4. probleme avec l'affichage des images dans une jsp
    Par hypothese dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 27/05/2008, 16h56

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