―Servlet/JSPリファレンス―

古川正寿
2001/12/11
Javaプログラミング
ワンポイントレクチャーについて

   HTTPコマンドに応答するには

 サーブレットクラスを作成する場合に、親クラスに指定するHttpServletクラスにはservice()メソッドが実装されていて、このメソッドがHTTPコマンドへの応答を行う中心的な役割を果たしています。そしてこのクラスには、GETやPOSTなどのHTTPコマンドに対応したdoGet()、doPost()、doPut()、doDelete()、doOptions()、doTrace()などのメソッドが用意されています。

 service()メソッドは、HTTPコマンドを解析し、これらのメソッドを呼び出します。HTTPコマンドに応答する任意処理を行う場合には、doGet()、doPost()メソッドなどを下位クラスでオーバーライドし、応答する処理を作成します。例えばGETコマンドに応答する場合には、メソッドをオーバーライドします。

 以下のリストは、doGet()メソッドをオーバーライドして任意のHTMLコンテンツを返す処理を実装したものです。リクエストを処理するためのメソッドにはHttpRequest、HttpResponse型のパラメータが付きます。HttpRequestパラメータはクライアントからのリクエストを表し、HttpResponseパラメータはクライントからのリクエストに対する応答を表します。

 応答を行うには、一般的にgetWriter()メソッドを使ってHttpResponseパラメータのPrintWriter(ストリーム)オブジェクトを取り出しprintlnメソッドを使ってPrintWriterオブジェクトに応答するコンテンツを出力します。

リスト GETコマンド処理
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 response.setContentType(CONTENT_TYPE);
 PrintWriter out = response.getWriter();
 out.println("<HTML>");
 out.println("<HEAD>");
 out.println("<TITLE>Sample Servlet</TITLE>");
 out.println("</HEAD>");
 out.println("<BODY bgcolor=\"#00cccc\">");
 out.println("GETコマンドに対する応答!!!!");
 out.println("</BODY>");
 out.println("</HTML>");
}

 

Javaプログラミング・ワンポイントレクチャー INDEX

 



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間