Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324
    sono riuscito a trovare un esempio su internet di JFreeChart, solo che adesso il problema è come faccio a recuperare l'immagine che viene creata dalla servlet nella mia jsp?

    questo è il codice che ho scritto:

    servlet:
    codice:
    private void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            
            String azione = request.getParameter("azione");
            
            if(azione.equals("creazioneGrafici")){
                
                response.setContentType("image/png");
    
                OutputStream outputStream = response.getOutputStream();
    
                JFreeChart chart = generazioneGrafico();
                int width = 500;
                int height = 350;
                ChartUtilities.writeChartAsPNG(outputStream, chart, width, height);
                
                
            }
            
        }
        
        private JFreeChart generazioneGrafico(){
            
            DefaultPieDataset dataset = new DefaultPieDataset();
            dataset.setValue("Ford", 23.3);
            dataset.setValue("Chevy", 32.4);
            dataset.setValue("Yugo", 44.2);
    
            boolean legend = true;
            boolean tooltips = false;
            boolean urls = false;
    
            JFreeChart chart = ChartFactory.createPieChart("Cars", dataset, legend, tooltips, urls);
    
            chart.setBorderPaint(Color.GREEN);
            chart.setBorderStroke(new BasicStroke(5.0f));
            chart.setBorderVisible(true);
    
            return chart;
        }
    sapreste dirmi adesso come fare a recuperare l'immagine che genero, nella mia jsp?

    Grazie anticipatamente.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da manublack Visualizza il messaggio
    sono riuscito a trovare un esempio su internet di JFreeChart, solo che adesso il problema è come faccio a recuperare l'immagine che viene creata dalla servlet nella mia jsp?
    Nella JSP l'unica cosa che puoi fare è emettere in output il classico tag <img> che dovrà puntare al URL della servlet che genera la immagine.

    <img src="url-servlet-che-genera-la-immagine" ......altri attributi...... >

    Perché è il browser che farà la ulteriore request (oltre alla pagina HTML e resto) per scaricare la immagine. Ed è anche chiaro (almeno per me) che se per generare la immagine la servlet ha bisogno di qualche informazione di "contesto" (id, dati vari o altro), li devi o passare nella url di <img> oppure li devi tenere in "sessione".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Nella JSP l'unica cosa che puoi fare è emettere in output il classico tag <img> che dovrà puntare al URL della servlet che genera la immagine.

    <img src="url-servlet-che-genera-la-immagine" ......altri attributi...... >

    Perché è il browser che farà la ulteriore request (oltre alla pagina HTML e resto) per scaricare la immagine. Ed è anche chiaro (almeno per me) che se per generare la immagine la servlet ha bisogno di qualche informazione di "contesto" (id, dati vari o altro), li devi o passare nella url di <img> oppure li devi tenere in "sessione".
    Funziona grande.. adesso avrei un altra domanda da farti.... Se dovessi fare la stessa cosa ma con struts2 che cosa dovrei fare? nel senso nel tag <img> cosa dovrei inserire? e nello struts.xml cosa inserisco?

    Grazie Anticipatamente.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da manublack Visualizza il messaggio
    Se dovessi fare la stessa cosa ma con struts2 che cosa dovrei fare? nel senso nel tag <img> cosa dovrei inserire? e nello struts.xml cosa inserisco?
    Se la immagine è generata da una "action", nel <img> dovrai mettere l'url che è mappato per quella action. Non mi ricordo in questo momento come è fatto il struts.xml.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Se la immagine è generata da una "action", nel <img> dovrai mettere l'url che è mappato per quella action. Non mi ricordo in questo momento come è fatto il struts.xml.
    sono riuscito anche con struts2 a fare visualizzare l'immagine, solo che al momento del caricamento dell'immagine mi fornisce come errore, sapreste aiutarmi a riguardo?

    codice:
    Servlet.service() for servlet default threw exception: java.lang.IllegalStateException
        at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:392) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:914) [struts2-core-2.3.16.jar:2.3.16]
        at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574) [struts2-core-2.3.16.jar:2.3.16]
        at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) [struts2-core-2.3.16.jar:2.3.16]
        at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) [struts2-core-2.3.16.jar:2.3.16]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
        at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
    Grazie anticipatamente

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.