フィルタクラスが処理する要求/応答であるかどうかを検出する方法はありますか?また、私は自分のサーブレットへのリクエストを取り消し、自分のレスポンスを作成し、dofilterメソッドから返す必要があります。これを行う方法はありますか?javax.servlet.filterクラスのリクエスト/応答処理
答えて
各フィルタは、要求と応答のいずれにも影響を与えません。 chain.doFilter(...)
に電話する前とか後で何かをするかどうか、そしてラップされたリクエストやレスポンスを渡すかどうかによって決まります。
フィルタ内で独自の応答を作成する必要がある場合は、chain.doFilter(...)
を呼び出してフィルタから独自の応答を提供しないでください。
含め、Filter.doFilter
Javadocsを参照してください:
この方法の典型的な実装は次のように続くでしょう パターン: - 1.要求 2.を確認し必要に応じてカスタム実装を要求オブジェクトをラップ入力フィルタリングのコンテンツまたはヘッダーをフィルタリングする 3.オプションで、出力のフィルタリングのためにコンテンツまたはヘッダをフィルタリングするカスタム実装でレスポンスオブジェクトをラップします 4. a)FilterChainオブジェクトを使用してチェーン内の次のエンティティを呼び出します(chain.doFilter() ))、 4. b)または要求処理をブロックするために、フィルタチェーンの次のエンティティに要求/応答のペアを渡しません。 5.フィルタチェーン内の次のエンティティの呼び出し後に、応答にヘッダーを直接設定します。
私はresponse.getWriter()。write( "response data")を使用してレスポンスをmofiedしました。 そして、その応答を回避するには、そのchain.doFilter()を削除してサーブレットに渡してください。
今、私はdoFilterメソッドからのセッション変数(認証用)を検証しています。 リクエストとレスポンスの両方が同じdoFilterメソッドで処理されているので、これらのセッション検証は2回起こっていると思います(1)。応答は応答中に&(2)になります。 しかしdoFilterが現在処理しているもの(リクエスト/レスポンス)を見つける方法はありますか? 私はセッションの検証をリクエスト時にのみ行うことができます。
[このリンク](http://punekaramit.wordpress.com/2010/03/16/intercepting-http-response-using-servlet-filter/)は、私たちがいつ取り扱っているかを説明していますフィルタをリクエストしてレゾナンスする –
- 1. XML応答処理
- 2. NSURLSessionデータタスクの応答処理
- 3. SOAP応答の処理
- 4. SOAP応答の処理
- 5. KIEサーバの応答処理
- 6. Jqueryモバイルフォームの応答処理
- 7. POST応答の処理
- 8. SOLR - クエリ応答の処理
- 9. pythonでjsonを処理するdjangoでのリクエストと応答
- 10. 特定のHTTP応答を処理するPythonリクエスト
- 11. 複数のajaxリクエストと応答を処理する
- 12. ループ処理AJAX応答
- 13. Coffeescript json応答処理
- 14. GET応答後にリクエストを処理するFlask
- 15. サーブレットでのsoap応答の処理
- 16. 処理時間の後のASP.NET応答
- 17. 応答のキー値ペアの処理
- 18. PHPでのFitbit APIの応答処理
- 19. 応答での認証エラーの処理
- 20. Ajaxレスポンスの302応答コードの処理
- 21. POST後の応答オブジェクトの処理
- 22. DjangoでのJson応答の処理
- 23. サーバーからのヌル応答の処理
- 24. 角度2 - API応答の処理
- 25. 422処理不能エンティティ応答Clojureの
- 26. REST要求とREST応答の処理
- 27. PHP cURL APIの応答処理
- 28. 処理時間応答残りのapi
- 29. GWT FileUpload - サーブレットオプションと応答の処理
- 30. Django未処理の例外応答ステータスコード
あなたが何をしたいかを明確にしてください –