Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problema Servlet! Non mi riconosce un init-param dal file web.xml

    Salve. Allora, ho un semplice programma formato dalla classe SurveyServlet che estende HttpServlet, si connette al database, salva la scelta di un sondaggio recuperata da un file html (Survey.html) e visualizza i risultati fornendo una nuova pagina html grazie all'oggetto response.

    Ho un problema, quando da Survey.html scelgo una scelta del sondaggio e avvio il servlet, Tomcat mi riporta l'errore 404 e dalla shell posso leggere questo errore:

    http://img409.imageshack.us/img409/8851/probrf3.png

    Come potete vedere, mi lancia una NullPointerException alla riga 24 di SurveyServlet... alla riga 24 c'è questo: Class.forName (config.getInitParameter ("databaseDriver"));

    Ma come ben si può notare, nel file web.xml io ho dichiarato correttamente l'init param con il giusto nome e il giusto valore.

    Già altre volte mi è capitato di non riuscire ad avviare il servlet, e ho risolto eliminando tutto e riscrivendo da capo. Ma io ho bisogno di capire bene dov'è che sbaglio per evitare di commettere sempre gli stessi errori e perdere tempo.

    Ringrazio di cuore chi potrà aiutarmi

  2. #2
    il tag init-param deve stare DENTRO quello servlet (http://edocs.bea.com/wls/docs61/webapp/web_xml.html)
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  3. #3
    Originariamente inviato da ivenuti
    il tag init-param deve stare DENTRO quello servlet (http://edocs.bea.com/wls/docs61/webapp/web_xml.html)
    Ho modificato come mi hai detto ma ora mi lancia una ClassNotFoundException sempre alla riga 24...

    Allora, ho fatto come mi hai detto, poi in WEB-INF dell'applicazione ho aggiunto la cartella lib con dentro il file per il driver al database "mysql-connector-java-5.1.6-bin.jar". Riavvio Tomcat, avvio il servlet, e viene lanciata una SQLException Però stavolta il servlet viene avviato, quindi ora c'è un problema col database...

  4. #4
    Aggiornamento: ora mi dice che la sintassi sql usare per comunicare con il database non è sintatticamente corretta.

    codice:
    sql = "SELECT sum (votes) FROM surveyresults";
    ResultSet totalRS = statement.executeQuery (sql);
    Praticamente mi dice: "FUNCIONT animalsurvey.sum does not exists". Cioè non mi riconosce la funzione sum che mi serve per contare i valori di una colonna... come è possibile?

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Per contare i valori di una colonna si usa la funzione di aggregazione COUNT e non SUM (che fa la somma)...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Originariamente inviato da LeleFT
    Per contare i valori di una colonna si usa la funzione di aggregazione COUNT e non SUM (che fa la somma)...


    Ciao.

    Ma a me serve fare la somma dei valori di quella colonna, il problema è che non mi riconosce la funzione sum...

  7. #7
    Ho provato ad eliminare lo spazio che era presente tra sum e (votes) e ora funziona! Possibile che quello spazio abbia inciso così tanto?

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Stiamo parlando di un DB MySQL?
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Originariamente inviato da LeleFT
    Stiamo parlando di un DB MySQL?
    Sì... ma mi sembra strano che per uno spazio non mi riconosca quella funzione o_O

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Sì... io pensavo che lo spazio fosse messo lì per comprensione... non ci deve essere nessuno spazio tra il nome della funzione e l'aperta parentesi dei suoi argomenti, altrimenti vede il nome della funzione come campo della tabella e non trovandolo dà errore.

    Lo spazio, infatti, viene utilizzato per rinominare il nome del campo:
    codice:
    SELECT nome_campo AS altro_nome, ...
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.