Pergunta

Eu estou tentando implantar um aplicativo java para AppSpot (google appengine). Eu sou novo em java, para ter comigo. Quando eu executar o aplicativo localmente a partir de eclipse, ele funciona muito bem. Após o upload para o Google appspot, eu recebo um erro (apenas em uma das páginas .jsp, outras páginas .jsp trabalho finos). O log de erro diz:

   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)

Alguém pode lançar alguma luz sobre esta questão? O que poderia estar errado nesta página particular? Se você gostaria de ver o código da página, deixe-me saber.

Foi útil?

Solução

Parece que algo no seu código é lançar uma exceção que não deriva de ServletException. Um manipulador montante está pegando essa exceção e (possivelmente) tentando fazer algo inteligente com ele.

Há provavelmente um outro problema subjacente causando a exceção seja lançada em primeiro lugar, mas que pode ser revelado por ver primeiro o que a exceção é.

Se você não tem certeza onde esta exceção é, tentar envolver você manipulador de página inteira em um try ... bloco catch, olhando para todos Throwable de. Quando você encontrar um, relançar-lo dentro de um ServletException:

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

Isso deve permitir que o servidor web para exibir a exceção para que possa continuar a rastrear o problema. Note que este provavelmente deve ser um código temporário.

Outras dicas

Procure casos de javax.servlet.ServletException.class no seu WEB-INF / lib. Conteúdo para servler.jar ou servlet.api.jar devem ser fornecidos bye o recipiente e não deve aparecer em seu arquivo WAR.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top