java.lang.ClassCastException не может быть приведено к javax.servlet.ServletException

StackOverflow https://stackoverflow.com/questions/1703412

Вопрос

Я пытаюсь развернуть java-приложение в appspot (Google appengine).Я новичок в Java, так что потерпите меня.Когда я запускаю приложение локально из eclipse, оно работает нормально.После загрузки его в Google appspot я получаю сообщение об ошибке (только на одной из страниц .jsp, другие страницы .jsp работают нормально).В журнале ошибок написано:

   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)

Кто-нибудь может пролить некоторый свет на этот вопрос?Что может быть не так на этой конкретной странице?Если вы хотите увидеть код страницы, дайте мне знать.

Это было полезно?

Решение

Похоже, что что-то в вашем коде генерирует исключение, которое не является производным от ServletException.Обработчик, находящийся выше по потоку, улавливает это исключение и (возможно) пытается сделать с ним что-то разумное.

Вероятно, существует другая основная проблема, из-за которой в первую очередь возникает исключение, но это можно выявить, если сначала посмотреть, что это за исключение.

Если вы не уверены, где находится это исключение, попробуйте обернуть весь обработчик страницы в try ... catch блок, ищущий все Throwable's.Когда вы найдете один из них, повторно поместите его внутрь ServletException:

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

Это должно позволить веб-серверу отобразить исключение, чтобы вы могли продолжить отслеживание проблемы.Обратите внимание, что это, вероятно, должен быть временный код.

Другие советы

Найдите экземпляры javax.servlet.ServletException.class в вашей WEB-INF/lib.Содержимое для servler.jar или servlet.api.jar должно предоставляться в контейнере и не должно отображаться в вашем файле WAR.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top