Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Servlet Java

  1. #1

    Servlet Java

    Ciao a tutti. Sto facendo una servlet che facendo riferimento a una pagina index.html mi da delle opzioni per la creazione di un database, l'aggiunta di un oggetto studente al database e la visualizzazione di tale. Il database utilizza SQLite. Nella pagina html passo dei parametri al metodo get della servlet e tali metodi funzionano visto che se faccio stampare in un pagina html la i parametri sono giusti. Avendo utilizzato un'archittettuta 3-tier ho 3 package.
    1.JPG
    La servlet si trova su view e deve comunicare con delle normalissime classi java: crea infatti un'oggetto StudentLogic che a sua volta crea un oggetto StudentDataAccess che comunica con il databse.
    Facendo cosi solo inserendo il costruttore evidenziato quando vado a cliccare in un qualsiasi bottone della pagina html la pagina inizia a caricare all'infinito senza aprire nulla.
    2.JPG
    Allego anche le classi StudentLogic e StudentDataAccess.
    3.JPG
    StudentDataAccess: https://www.dropbox.com/s/f3vpe656eu...cess.java?dl=0
    Spero di essermi spiegato nel miglior modo possibile! La mia domanda è semplice: Dove sbaglio? Vi ringrazio anticipatamente.

  2. #2
    Bè un paio di considerazioni vanno fatte.
    LE ECCEZIONI NON SI AMMAZZANO.....
    codice:
           }catch(Exception e ){
                System.out.println("no studenti");
                System.out.println();
            }
    Fatti sempre stampare lo stacktrace altrimenti come sta succedendo non hai modo di cosa possa succedere
    Seconda cosa System.exit questa istruzione è già "distruttiva" in un ambiente applicativo normale figuriamoci su un servlet container....
    Sistema queste due cose e vedrai che sul file di log del tuo server comparirà magicamente il motivo per il quale si verifica la situazione anomale

  3. #3
    Credo che togliendo Sistem.exit(0) funzioni tutto. Ora provo e finisco di sistemare l'aggiunta dell'oggetto studente.
    Ultima modifica di LucaSarge; 02-03-2015 a 13:13

  4. #4
    Il sistem.exit lo fai se si verifica un eccezione durante l'interfacciamento con il db, quindi sicuramente non ti si bloccherà più ma dire che la cosa funzioni....

  5. #5
    Ho detto sembra funzionare. E' la prima volta che lavoro con servlet e database. Perchè non dovrebbe funzionare? Da come hai detto hai visto qualche errore. Potresti per favore farmeli presenti?
    Ultima modifica di LucaSarge; 02-03-2015 a 13:27

  6. #6
    codice:
      private void loadFromDB(){
            try{
                Class.forName("org.sqlite.JDBC"); 
    
                Connection connessione = DriverManager.getConnection("jdbc:sqlite:rubrica.db"); 
                Statement stat = connessione.createStatement(); 
    
                ResultSet result = stat.executeQuery("SELECT * FROM students");
                Student add;
                while (result.next()) { 
                  add= new Student(result.getString("name"),result.getString("surname"),result.getString("id"));
                  this.students.add(add); 
                } 
                result.close(); 
                connessione.close(); 
            } catch ( Exception e ) {
              System.err.println( e.getClass().getName() + ": " + e.getMessage() );
              System.exit(0);
            }     
        }
    Come hai detto tu se levi il System.exit funziona o meglio non si blocca....
    Ma quel System.exit lo fai all'interno di un catch quindi vuol dire che si è verificata un eccezione durante l'esecuzione del blocco try, quale sia questa eccezione non ci è dato saperlo dato che stampi sono il messaggio, che può essere abbastanza forviante... se magari invece di quel System.out metti un e.printStackTrace() ti verrà stampato tutto lo stack delle eccezione e da li potrai capire cosa è che non funziona.

  7. #7
    Grazie mille!

Tag per questa discussione

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.