Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [java]aiuto exception

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388

    [java]aiuto exception

    Scusate se rompo ancora ma da troppi giorni sono fermo a questo errore.
    qualcuno mi sa spiegare che tipo di errore č il seguente:

    Errore: javax.servlet.ServletException: Servlet execution threw an exception
    Messaggio Errore: Servlet execution threw an exception

    quando si verifica e cosa devo fare per evitarlo?

    in pratica si verifica quando lancio un form nel quale č compreso un campo data, che dovrebbe richiamare una procedura di insermento dati in un db forse il problema riguarda (uso struts).


  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    dovresti sapere da dove viene l'errore, se appare in una pagina jsp o altro, la classe che lo genera

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    dove posso vedere dove viene generato? lo da in una pagina jsp ma i campi del form li cattura.

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    la pagina jsp ha una riga
    <%@ page errorPage="pagina.jsp" %>

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    il problema l da in
    Notizie notizia= NotizieDBManager.inserimentoNotizie(idNotizia,dr,s ommario,testo,id);

    codice
    ****
    InserimentoNotiziaForm inserimentoNotiziaForm = (InserimentoNotiziaForm) form;
    String dd= inserimentoNotiziaForm.getDataNotizia();
    SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy");
    Date dr = sdf.parse(dd);
    Timestamp tempo = new Timestamp(dr.getTime());
    int idNotizia= inserimentoNotiziaForm.getIdNotizia();
    String sommario= inserimentoNotiziaForm.getSommario();
    String testo= inserimentoNotiziaForm.getTesto();
    int id= inserimentoNotiziaForm.getId();
    Notizie notizia= NotizieDBManager.inserimentoNotizie(idNotizia,dr,s ommario,testo,id);
    **********************
    la classe NotizieDBManager.inserimentoNotizie é:
    ***************
    public class NotizieDBManager {
    private static DataSource dataSource;

    public static Notizie inserimentoNotizie (int idNotizia,Date tempo,String sommario,String testo,int id)throws ErroreAccessoDatiException,SQLException{
    System.out.println("insertnotizia");

    if(dataSource == null){
    throw new IllegalStateException("NotiziaDBManager non ha ancora a disposizione un DataSource valido");
    }
    String sqlQuery=null;
    sqlQuery = ("insert into notizie_generiche values(?,?,?,?,?)");
    Connection connection1 = null;
    PreparedStatement pStat1 = null;
    ResultSet rSet1 = null;
    try{
    connection1 = dataSource.getConnection();
    pStat1 = connection1.prepareStatement(sqlQuery);
    String amministratore=null;


    pStat1.setInt(1,idNotizia);
    pStat1.setString(2,testo);
    pStat1.setString(3,sommario);
    pStat1.setDate(4, new java.sql.Date(tempo.getTime()));

    pStat1.setInt(5,id);



    pStat1.execute();
    connection1.commit();
    Notizie notiziaNuovo = NotizieDBManager.trovaNotizia(idNotizia);

    if (notiziaNuovo!=null){
    return notiziaNuovo;
    }
    else {
    return null;
    }

    }

    catch(SQLException errore){
    throw new SQLException(errore.getMessage(),String.valueOf(er rore.getErrorCode()));
    }
    catch(ErroreAccessoDatiException errore){
    throw new ErroreAccessoDatiException(errore.getMessage(),Str ing.valueOf(errore.getErrorCode()));
    }
    finally{
    try{rSet1.close();}catch(Exception e){}
    try{pStat1.close();}catch(Exception e){}
    try{connection1.close();}catch(Exception e){}
    }

    }

    ***************

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    da qui non viene generata la servlet exception
    quindi puoi guardare nei log del web server e vedere tutto lo stack dell'errore o mettere nella jsp una cosa del genere
    try {
    //codice incasinato
    } catch(Exception ex) {
    StackTraceElement[] e = ex.getStackTrace();
    for (int i=0; i<e.length; i++) {
    out.println(e[i].toString() + "
    ");
    }
    }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.