Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324

    disegnare piani cartesiani

    Ciao a tutti,

    apro questa discussione in quanto mi trovo di fronte a un problema che non so come risolvere. Il problema in questione è che nella mia web application vorrei fare comparire dei piani cartesiani che non sono altro che il risultato di alcuni valori.

    Adesso qualcuni di voi saprebbe indicarmi la strada per poter effettuare tale operazione? e soprattutto se è possibile farlo?

    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
    nella mia web application vorrei fare comparire dei piani cartesiani che non sono altro che il risultato di alcuni valori.
    Il client è un browser? Puoi far visualizzare una immagine generata dinamicamente lato server. Come farlo, quando farlo, in che modo il browser possa chiedere/ricevere la immagine .... dipende da vari fattori, ma dovresti scendere un po' più in dettaglio su come è fatta la tua web application.
    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
    Il client è un browser? Puoi far visualizzare una immagine generata dinamicamente lato server. Come farlo, quando farlo, in che modo il browser possa chiedere/ricevere la immagine .... dipende da vari fattori, ma dovresti scendere un po' più in dettaglio su come è fatta la tua web application.
    si esatto il client è un browser... sincero non so come si possa generare dinamicamente un immagine lato server.... In pratica a me servirebbe un piano cartesiano che venga pubblicato nella home page del sito che indichi le ore lavorative con le ore d'assenza fatte due l'anno solare... Quindi avrei due rette di diverso colore dove dovrebbero rappresentare questi dati.... Leggevo che cè la liberia JFreeChart... é una libreria valida per fare quello che vorrei?

    Grazie anticipatamente

  4. #4
    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.

  5. #5
    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

  6. #6
    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.

  7. #7
    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

  8. #8
    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.