1

XMLを使用してデータ交換を行うJavaのWebアプリケーションがあります。サーブレットを作成しましたが、HTTPPostを使用して特定のクライアントからXMLファイルをアップロードしています。Postメソッドが正常に完了すると、200 OKメッセージがクライアントに送信されます(デフォルトのWebサーバーのHTTPステータスを使用)。次に、アップロードに問題が発生したときにクライアントがHTTPステータスメッセージ(400 Badリクエスト、502 Badゲートウェイなど)を受け取るように、アプリケーションにHTTPステータスコードを含める必要があります。WebアプリケーションにHTTPステータスコードを追加するにはどうすればよいですか?提案を手伝ってください。ありがとう

4

2 に答える 2

2

HttpServletResponse#setStatus()またはを使用できますHttpServletResponse#sendError()

@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) {

    // handle upload

    // if error
    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);

    // or
    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                       "An unknown error occurred");
}

メソッドはサーブレットコンテナの動作が異なるため、状況に最も適した方法を選択してください。

  • setStatus()

    このメソッドを使用してエラーコードを設定すると、コンテナのエラーページメカニズムはトリガーされません。

  • sendError()

    指定されたステータスを使用してクライアントにエラー応答を送信し、バッファをクリアします。サーバーはデフォルトで、指定されたメッセージを含むHTML形式のサーバーエラーページのように見える応答を作成します

ステータスコード定数のリストは、javadocのフィールドサマリーにあります。あなたの質問のコードについて:

于 2011-08-08T17:12:46.393 に答える
1

response.sendError(res.SC_BAD_REQUEST、 "important_parameter required"); 応答はHttpServletResponseです。を参照してください。

于 2011-08-08T17:15:30.983 に答える