3

request.getHeaderNames メソッド呼び出しの websphere (バージョン 6 sp11) で、この例外が発生します

java.lang.NullPointerException

            at com.ibm.ws.webcontainer.srt.SRTServletRequest.getHeaderNames(SRTServletRequest.java:345)

            at ....

SRTServletRequest のソース コードがありません。

誰もこの問題に直面しましたか?

4

2 に答える 2

4

最後に、私は答えを得ました。私を助けてくれたみんなに感謝します。問題は次のとおりです。1.開発者がクラスフィールドにリクエストを保存し、2.クラスレベルのリクエストフィールドにアクセスするまでに、他のスレッドが開始および終了したため、呼び出しとnullPointerが破棄されました。

于 2009-09-28T18:34:11.060 に答える
1

NPE の考えられる説明の 1 つをここに示します。

WebSphere を見ないとわかりませんが、リンクされたレポートの SRTServletRequest.getHeaderNames() の NPE の診断によると、リクエスト オブジェクトでメソッドを呼び出した場合に「範囲外」になった可能性があります。つまり、WebSphere コンテナーのライフサイクル管理によって破棄された後です。WebSphere が Spring で使用されている場合にこれが発生する可能性がある場合は、WebSphere が単独で使用されている場合に発生する可能性が最も高いです。

getHeaderNames() が doPost() で呼び出された場合、WebSphere がサーブレットが要求オブジェクトを処理したと判断するようなことをコードが行った可能性はありますか? それは、サーブレットまたは以前に要求オブジェクトに触れたフィルターのようなものにある可能性があります。

于 2009-07-29T09:17:21.960 に答える