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 :

variable de session et ByteArrayOutputStream


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 variable de session et ByteArrayOutputStream
    Bonjour

    Pour éviter de l'enregistrer sur le serveur,je crée un doc PDF et enregistre le ByteArrayOutputStream en session comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //génération du document PDF
    PdfPTable tbl = null;
    PdfWriter writer = null;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Document document = null;
    ......
    try{writer = PdfWriter.getInstance(document, baos);}catch(final Exception e_pdf){e_pdf.printStackTrace();}
    ...
    session.setAttribute("baos", writer);
    //fin
    dans la servlet, je récupère mon ByteArrayOutputStream
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    baos = (ByteArrayOutputStream)session.getAttribute("baos");
    // Send response
    response.setContentType("application/pdf");
    response.setContentLength(baos.size());
    ServletOutputStream ouputStream = response.getOutputStream();
     
    baos.writeTo(ouputStream);
    //ouputStream.write(pdfbytes, 0, pdfbytes.length);
    ouputStream.flush();
    ouputStream.close();
    ...
    pour afficher mon document mais j'ai une erreur sur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    baos = (ByteArrayOutputStream)session.getAttribute("baos");
    java.lang.ClassCastException: com.lowagie.text.pdf.PdfWriter
    at index.Gest_mat.doGet(Gest_mat.java:329)

    D'où vient l'erreur ?
    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Tu as mis le <PdfWriter> en session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.setAttribute("baos", writer);
    Et tu essaies de récupérer l'<OutputStream> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    baos = (ByteArrayOutputStream)session.getAttribute("baos");

  3. #3
    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
    Excellent merci

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

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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