Frage

Ich versuche, eine Java-Anwendung bereitstellen AppSpot (google appengine). Ich bin neu in Java, so mit mir tragen. Wenn ich die Anwendung lokal von Eclipse ausführen, wird es in Ordnung. Nach dem Hochladen es AppSpot googeln, erhalte ich einen Fehler (nur in einen der .jsp Seiten, andere .jsp Seiten funktionieren). Das Fehlerprotokoll sagt:

   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)

Kann jemand etwas Licht ins Dunkel bringen? Was könnte in dieser speziellen Seite falsch sein? Wenn Sie möchten, dass die Seite Code sehen, lassen Sie mich wissen.

War es hilfreich?

Lösung

Es sieht aus wie etwas in Ihrem Code eine Ausnahme wirft, die nicht von ServletException nicht ableiten. Ein Handler Upstream holt diese Ausnahme und (möglicherweise) versuchen, etwas intelligenter damit zu tun.

Es ist wahrscheinlich ein anderes zugrunde liegendes Problem der Ausnahme verursacht in erster Linie geworfen werden, aber das könnte durch Sehen ersten enthüllt werden, was die Ausnahme ist.

Wenn Sie nicht sicher sind, wo diese Ausnahme ist, versuchen Sie ganze Seite Handler in einem try ... catch Block Verpackung, auf der Suche nach allen Throwable Jahren. Wenn Sie einen finden, rethrow es innerhalb eines ServletException:

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

Dies sollte dem Web-Server ermöglicht die Ausnahme angezeigt, so dass Sie das Problem aufzuspüren fortgesetzt werden können. Beachten Sie, dass dies wahrscheinlich temporärer Code sein.

Andere Tipps

Geben Sie für Instanzen von javax.servlet.ServletException.class im WEB-INF / lib. Inhalt für servler.jar oder servlet.api.jar soll den Behälter vorgesehen bye werden und soll nicht in Ihrer WAR-Datei angezeigt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top