Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    96

    Servlet and jquery plug in datatable

    Ciao a tutti,

    ho creato un applicazione web che visualizza dati provenienti da db .

    nel lato frontend ho utilizzato datatable, back end una servlet che si connette al db legge i dati e li manda in html a datatable per il browser.

    il codice java in linea di massima e' questo :

    ResultSet resultSet = s.executeQuery("SELECT * FROM tabella");

    ....

    results.append("<th>campo1</th>");
    results.append("<th>campo2'</th>");
    results.append("<th>campo3'</th>");
    ...

    while (resultSet.next()) {
    results.append("<tr>");
    for (int i = 1; i <=3; i++)
    results.append("<td>" + resultSet.getObject(i) + "</td>");
    }


    questo codice mi genera una pagina html che mi visualizza 5000 record formattati a dovere dal plug-in jquery datatable


    Domande:
    come potrei gestire questa web application riducendo il tempo di caricamneto dati ?
    utilizzando json ?
    sarebbe un metodo pi� efficente ?
    come potrei generare un file json da codice java e mandarlo al browser per la lettura ?
    non sto sfruttando a pieno le potenzialit� di datatable ?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, non uso java ma conosco datatable plugin. L'ho usato poco tempo fa. Fa il suo dovere ma ovviamente più dati gli dai in pasto e più ci mette a renderizzare. I casi sono usare l'html come hai fatto tu e far gestire al plugin tutto ( ma come vedi puo' essere lento), usare i metodi del plugin per caricare la sorgente man mano e quindi avere una paginazione dei dati facendo delle chiamate in ajax oppure come avevo risolto io per questioni aziendali, creare una paginazione a parte sapendo il totole dei records, rendere quindi la pagina consultabile con paginazione in GET (o POST) e in questo modo il set di dati caricati lato server avrebbe un LIMIT decente per far si che tutto sia veloce nel caricamento.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    96
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, non uso java ma conosco datatable plugin. L'ho usato poco tempo fa. Fa il suo dovere ma ovviamente più dati gli dai in pasto e più ci mette a renderizzare. I casi sono usare l'html come hai fatto tu e far gestire al plugin tutto ( ma come vedi puo' essere lento), usare i metodi del plugin per caricare la sorgente man mano e quindi avere una paginazione dei dati facendo delle chiamate in ajax oppure come avevo risolto io per questioni aziendali, creare una paginazione a parte sapendo il totole dei records, rendere quindi la pagina consultabile con paginazione in GET (o POST) e in questo modo il set di dati caricati lato server avrebbe un LIMIT decente per far si che tutto sia veloce nel caricamento.
    ciao grazie della risposta,

    Il ritardo avviene solamente al caricamento della pagina di circa 3 secondi ...una volta caricati tutti i dati in locale datatable gestisce molto velocemente tutte le sue funzioni. Cercherò di migliorare i tempi di caricamento con i tuoi consigli.

    Pensavo che il mio modo di programmare fosse deprecato e causasse un problema che vorrei prima risolvere :

    La mia applicazione in locale funziona. Il problema sorge nel server di produzione.
    Dopo aver chiamato la servlet dal client browser il server mi restituisce una pagina html incompleta :

    html>
    <head>
    <title>Applicazione</title>
    <link href="css/jquery.dataTables.css" rel="stylesheet">
    <script src="js/jquery-1.11.3.min.js"></script>
    <script src="js/jquery.dataTables.min.js"></script>
    <script >
    $(document).ready(function() {
    $("#idtable").DataTable(
    {}
    );
    } );
    </script>
    </head>
    <body>

    ???? qui si ferma
    successivamente c'e' la connessione al db e le righe di codice che ho postato nel mio primo messaggio


    Queste sono le tecnologie che sto usando :
    tomcat in locale è 8.0.27.0
    tomcat in remoto è 7.0.59 che punta ad una jre-1.8.0-openjdk
    utilizzo il jar postgresql-9-3-1103.jdbc.jar sia in locale che nella macchina di produzione

    tomcat risponde la sua pagina di default senza problemi

    Domanda :
    Quale potrebbe essere il problema ?
    Ci potrebbe essere qualche impostazione di tomcat errata ?

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Sinceramente non conosco tomcat, come linguaggio di programmazione io uso PHP.
    Per capire se il prblema è la rispsosta del server stesso puoi provare a limtare il numero dei dati o a caricare la pagina senza dati così almeno capisci se la lentezza è per via della quantità dei dati o meno. Peronalmente il problema io l'avevo sul rendering HTML lato javascript. La risposta lato server era cmq veloce anche con molti dati.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Per la presentazione dei dati java mette a disposizione le jsp, ti sconsiglio di generare l'html da una servlet. Nella servlet recupera solo i dati dal db e inviali alla jsp che si occupera di presentarli all'utente.

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    invito tutti a usare il tag code per il codice. altrimenti chiudo la discussione.

    grazie
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    96
    Grazie per i consigli. sicuramente approfondirò jsp...

    Ma sarebbe interessante per me anche scoprire il problema della mia servlet che in locale funziona e dopo il deploy no

  8. #8
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    per quello apri una discussione nel forum java
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.