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