Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problemi con le immagini

    Ciao a tutti,
    sto progettando un'applicazione basata sul web con jsp e servlet la quale visualizza dei grafici statistici. Ho programmato la mia applicazione con l'IDE eclipse e Application Server Tomcat v5.5. I grafici li creo con il progetto JFreeChart. Il codice per creare l'immagine si trova in una servlet ed ogni volta che avvio l'applicazione e passo per questa servlet l'immagine del grafico mi viene salvata correttamente sulla directory da me specificata. L'immagine la visualizzo nella jsp con questo codice:
    [img]/Gestione/immagini/chart.jpg[/img]
    Quando avvio l'applicazione e passo per la prima volta nella servlet l'immagine viene visualizzata correttamente, quando passo di nuovo sulla servlet con dati differenti, sulla directory l'immagine jpg cambia correttamente mentre sul browser rimane ancora la prima immagine visualizzata. Cosa strana è che se vado sulla directory e cancello l'immagine la jsp mi visualizza ancora la prima immagine. L'immagine viene caricata sulla cache da qualche parte ma sono sicuro che non è quella del Browser. Ho notato che mi aggiorna l'immagine solo fermando il server, facendo il refresh sul progetto del Project explorer e riavviando l'applicazione. Naturalmente ho bisogno di visualizzare le immagini create dinamicamente senze fermare il server e aggiornare il progetto. Qualcuno sa dirmi il perchè di questo problema e come risolverlo?
    Grazie a tutti.

  2. #2
    Perchè non richiami direttamente una servlet all'interno di <img>?

    Crei una servlet MyImg:

    public class Img extends HttpServlet {
    ....
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException ,IOException{
    response.setContentType("image/png");
    JFreeChart chart = ....;
    ....
    OutputStream out = null;
    try{
    out = response.getOutputStream();
    ChartUtilities.writeChartAsPNG(out, chart, x, y);
    }catch(IOException e){
    ....
    }finally{
    if(out!=null)
    out.close();
    }
    }
    }

    e la richiami con:

    [img]MyImg[/img]

    ovviamente se l'immagine è costruita in maniera dinamica rispetto a dei parametri get, puoi usare

    [img]MyImg?...[/img]

    Secondo me questa soluzione è più pulita oltre che più efficente e sicuramente funzionante, almeno per la mia applicazioncina di test.

  3. #3

    Funziona!!

    Ho fatto ciò che hai scritto e funziona alla perfezione!!!

    Ottima soluzione!!

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.