Pregunta

Estoy tratando de implementar una aplicación Java para AppSpot (google appengine). Soy nuevo en Java, por lo llevo conmigo. Cuando ejecuto la aplicación local de eclipse, funciona muy bien. Después de subir a Google appspot, me sale un error (sólo en una de las páginas .jsp, otras páginas .jsp funcionan bien). El registro de errores 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)

¿Alguien puede arrojar algo de luz sobre esta cuestión? ¿Qué podría estar mal en esta página en particular? Si desea ver el código de la página, que me haga saber.

¿Fue útil?

Solución

Parece que algo en su código está lanzando una excepción que no se deriva de ServletException. Un controlador de aguas arriba es la captura de dicha excepción y (posiblemente) tratando de hacer algo inteligente con él.

Es probable que haya otro problema subyacente que causa la excepción que se lance en el primer lugar, pero que podría ser revelado por primera vez viendo lo que la excepción es.

Si no está seguro de dónde esta excepción es, tratar de envolver que toda manejador página en un bloque de try ... catch, en busca de todos los de Throwable. Cuando encuentre uno, volver a lanzar dentro de un ServletException:

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

Esto debería permitir que el servidor web para que aparezca la excepción para que pueda continuar el rastreo del problema. Tenga en cuenta que esto probablemente debería ser un código temporal.

Otros consejos

Buscar las instancias de javax.servlet.ServletException.class en su WEB-INF / lib. Contenidos para servler.jar o servlet.api.jar deben estar provistos de descanso del contenedor y no deben aparecer en el archivo WAR.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top