3

Java アプリケーションを appspot (google appengine) にデプロイしようとしています。私はJavaが初めてなので、我慢してください。アプリケーションをEclipseからローカルで実行すると、正常に動作します。Google Appspot にアップロードした後、エラーが発生します (.jsp ページの 1 つだけで、他の .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)

誰かがこの問題に光を当てることができますか? この特定のページで何が間違っている可能性がありますか? ページコードをご覧になりたい場合は、お知らせください。

4

2 に答える 2

2

コード内の何かが から派生していない例外をスローしているようですServletException。上流のハンドラーがその例外をキャッチし、(おそらく) それを使って何か賢いことをしようとしています。

そもそも例外がスローされる原因となる別の根本的な問題がある可能性がありますが、最初に例外が何であるかを確認することで明らかになる可能性があります。

この例外がどこにあるのかわからない場合は、ページ ハンドラー全体をtry...catchブロックでラップして、すべての を探してみてくださいThrowable。見つかったら、 a の中で再スローしますServletException

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

これにより、Web サーバーが例外を表示できるようになるため、問題の追跡を続けることができます。これはおそらく一時的なコードであることに注意してください。

于 2009-11-09T20:09:01.023 に答える
0

WEB-INF/libでjavax.servlet.ServletException.classのインスタンスを探します。servler.jarまたはservlet.api.jarのコンテンツは、コンテナーによって提供される必要があり、WARファイルに表示されないようにする必要があります。

于 2011-01-12T11:36:42.273 に答える