Domanda

Sto cercando di distribuire un'applicazione Java per AppSpot (Google AppEngine). Sono nuovo di Java, in modo da portare con me. Quando eseguo l'applicazione a livello locale da Eclipse, funziona benissimo. Dopo aver caricato a Google AppSpot, ottengo un errore (solo in una delle pagine .jsp, altre pagine .jsp funzionano bene). Il log di errore dice:

   Uncaught exception from servlet

java.lang.ClassCastException: java.lang.ClassCastException cannot be cast to javax.servlet.ServletException
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:754)

Qualcuno può fare luce su questo tema? Cosa potrebbe esserci di sbagliato in questa pagina particolare? Se volete vedere il codice della pagina, fatemelo sapere.

È stato utile?

Soluzione

Sembra che qualcosa nel codice sta gettando un'eccezione che non deriva da ServletException. Un gestore monte sta recuperando tale eccezione e (possibilmente) cercando di fare qualcosa di intelligente con esso.

Non v'è probabilmente un altro problema di fondo che causa la generazione di un'eccezione, in primo luogo, ma che potrebbe essere rivelato da vedere prima che cosa l'eccezione è.

Se non siete sicuri di dove questa eccezione è, provare voi avvolgendo tutto il gestore di pagina in un try ... catch blocco, alla ricerca di tutti i Throwable di. Quando si trova uno, rigenerare all'interno di un ServletException:

try {
    // handle page request
} catch (Throwable t) {
    throw new ServletException(t);
}

Questo dovrebbe consentire al server Web per visualizzare l'eccezione in modo da poter continuare a rintracciare il problema. Si noti che questo dovrebbe essere probabilmente il codice temporaneo.

Altri suggerimenti

Cercare istanze di javax.servlet.ServletException.class nel WEB-INF / lib. Contenuti per servler.jar o servlet.api.jar dovrebbero essere forniti bye al contenitore e non dovrebbe apparire nel file WAR.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top