サーブレットを作ろう! (5/5)
作成:2012-05-27 11:08
更新:2012-05-27 11:11
更新:2012-05-27 11:11
■覚えておきたいサーブレットの基本処理
このdoGetは、サーブレットでは必ずといっていいほどに利用される処理だけで構成されています。これらは、「サーブレットの基本処理」として、まず最初に覚えておきたいものです。以下に順に整理をしていきましょう。
●コンテンツタイプの設定
・HTMLの場合: "text/html"
・普通のテキストの場合: "text/plain"
●エンコーディングの設定
「setCharacterEncoding」は、引数に指定したエンコーディングに設定をするものです。これは、HttpServletRequestとHttpServletResponseの両方に用意されています。HttpServletRequestは、ブラウザなどから送られてきたテキストのエンコーディング、HttpServletResponseはクライアントへテキストを送信するときのエンコーディングです。GAEの場合、UTF-8が基本ですから、いずれも"utf8"としておくとよいでしょう。
●PrintWriterの取得
●クライアントへの出力
ここでは、HTMLのソースコードを書きだしています。何らのHTMLページを送り返す場合、このようにHTMLのタグをprintlnで書きだしていきます。
――というわけで、とりあえず簡単なサーブレットの作り方はこれでわかりました。今回の基本部分は、サーブレット作成で必ず必要となる知識です。次回、もう少し具体的なサーブレット作成を行うことにしますので、それまでにしっかりと頭に入れておいてください。
●コンテンツタイプの設定
response.setContentType( タイプ );クライアント側に何らかの結果を表示させる場合、その内容がどういうタイプのコンテンツかを設定しておく必要があります(そうでないと、ブラウザがそのコンテンツを表示できるのかどうかわからなくなりますから)。これを行うのが、HttpServletResponseの「setContentType」です。これは引数にコンテンツタイプを示すテキストを指定します。とりあえず、以下の2つを覚えておきましょう。
・HTMLの場合: "text/html"
・普通のテキストの場合: "text/plain"
●エンコーディングの設定
request.setCharacterEncoding( エンコーディング名 );クライアントと情報をやり取りする場合、基本は「テキスト」です。となると、そのテキストがどういうエンコーディングなのかわからないと文字化けしたりする可能性があります。その設定を行なっているのが、この2文です。
response.setCharacterEncoding( エンコーディング名 );
「setCharacterEncoding」は、引数に指定したエンコーディングに設定をするものです。これは、HttpServletRequestとHttpServletResponseの両方に用意されています。HttpServletRequestは、ブラウザなどから送られてきたテキストのエンコーディング、HttpServletResponseはクライアントへテキストを送信するときのエンコーディングです。GAEの場合、UTF-8が基本ですから、いずれも"utf8"としておくとよいでしょう。
●PrintWriterの取得
PrintWriter out = response.getWriter();クライアントへの出力(要するに、ブラウザに何かを送信すること)は、「PrintWriter」というクラスを利用します。これは、HttpServletResponseの「getWriter」メソッドを呼び出してインスタンス取得することができます。こうして取り出したPrintWriterのメソッドを呼び出して出力を粉います。
●クライアントへの出力
out.println( 出力する値 );PrintWriterで、値の出力に利用されるのが「println」メソッドです。これは、引数に指定した値をクライアントへの送信します。オーバーロードされており、引数にはどんな値でも指定することが可能です。
ここでは、HTMLのソースコードを書きだしています。何らのHTMLページを送り返す場合、このようにHTMLのタグをprintlnで書きだしていきます。
――というわけで、とりあえず簡単なサーブレットの作り方はこれでわかりました。今回の基本部分は、サーブレット作成で必ず必要となる知識です。次回、もう少し具体的なサーブレット作成を行うことにしますので、それまでにしっかりと頭に入れておいてください。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ