2011-12-24 12 views
1

jsp応答の生成が完了した後、応答に隠しタグを追加する必要があります。私は不法滞在例外を取得し続けます。私は私がものを追加し、そのメソッドからの戻りで私のフィルタサーブレットファイル内で呼び出されたときにgetwriterまたはgetoutputstreamがすでに使用されているかどうかをチェックする方法

でチェーンを下に渡し、応答ラッパーでにgetWriterをオーバーライドしています

java.lang.IllegalStateException: strict servlet API: cannot call getWriter() after getOutputStream() 

:だから私は、これのgetWriterの代わりにgetOutputStreamのは、今その文句を使用しましたwrite

getWriterまたはgetOutputStreamのいずれかを使用してエラーが発生しているので、どういうふうにこれらが既に使用されているかをチェックする必要があると思います。

答えて

0

servlet filterを使用して、応答ヘッダーまたはデータを生成した後に変更することができます。最初に実装するための少しの作業ですが、一度やってしまえばそれほど悪くないし、かなり強力です。

2

getWriterまたはgetOutputStreamのいずれかを使用してエラーが発生しているので、これらのどれが既に使用されているかを何らかの形でチェックする必要があると思います。

標準的な方法はありません。

カスタムラッパーを使用してこれを実装する場合は、ラッパー自体にgetWriterまたはgetOutputStreamが呼び出されたかどうかを確認する必要があります。ラッパー実装クラスに余分なパブリックメソッドを追加することで、この状態を公開することができます。

関連する問題