サーブレットを作ろう! (2/5)
作成:2012-05-27 11:00
更新:2012-05-27 11:00
更新:2012-05-27 11:00
■サーブレットの基本コードを理解しよう
では、サーブレットの基本を説明しましょう。サーブレットというのは、基本的に「Javaのクラス」です。まぁ、当たり前といえば当たり前ですが、つまり「Javaのクラスを書けばいい」だけなのです。なにか特別なものではないんです。
では、サーブレットのクラスはどう書くのでしょうか。下のリスト欄に基本コードを掲載しておきました。これがサーブレットの基本的なコードの構造になります。では、ポイントを整理しておきましょう。
1. クラスはHttpServlet を継承する
サーブレットのベースとなるのは、javax.servlet.httpパッケージに用意されているHttpServletクラスです。サーブレットは、このクラスを継承して作成します。
2. 基本は「doGet」と「doPost」メソッド
クラスにほぼ必須の項目として用意されるのは、「doGet」と「doPost」メソッドです。これらは、それぞれGET/POSTでアクセスされたときに実行されるものです。このどちらか(あるいは両方)が必ず用意されることになるでしょう。いずれのメソッドも、IOExceptionが発生する可能性があるので、throws IOExceptionしておきましょう。
3. HttpServletRequestでリクエスト情報を管理
これらのメソッドでは、2つの重要なオブジェクトが引数に渡されます。1つが、「HttpServletRequest」です。これは、リクエスト情報(クライアントがこのサーブレットにアクセスしてきたときの情報)を管理するオブジェクトです。リクエストに関するさまざまな情報はこの中のメソッドを呼び出すなどして得ることができます。
4. HttpServletResponseでレスポンスを管理
もう1つのオブジェクトが「HttpServletResponse」です。これはレスポンス情報(サーブレットからクライアントへ返送する情報)を管理するものです。クライアントへの出力なども、このHttpServletResponseからPrintWriterを取り出して書き出します。
(2.5の場合は、アノテーションは使えません。別途、設定ファイルを用意することになります。これについてはこの後に)
では、サーブレットのクラスはどう書くのでしょうか。下のリスト欄に基本コードを掲載しておきました。これがサーブレットの基本的なコードの構造になります。では、ポイントを整理しておきましょう。
1. クラスはHttpServlet を継承する
サーブレットのベースとなるのは、javax.servlet.httpパッケージに用意されているHttpServletクラスです。サーブレットは、このクラスを継承して作成します。
2. 基本は「doGet」と「doPost」メソッド
クラスにほぼ必須の項目として用意されるのは、「doGet」と「doPost」メソッドです。これらは、それぞれGET/POSTでアクセスされたときに実行されるものです。このどちらか(あるいは両方)が必ず用意されることになるでしょう。いずれのメソッドも、IOExceptionが発生する可能性があるので、throws IOExceptionしておきましょう。
3. HttpServletRequestでリクエスト情報を管理
これらのメソッドでは、2つの重要なオブジェクトが引数に渡されます。1つが、「HttpServletRequest」です。これは、リクエスト情報(クライアントがこのサーブレットにアクセスしてきたときの情報)を管理するオブジェクトです。リクエストに関するさまざまな情報はこの中のメソッドを呼び出すなどして得ることができます。
4. HttpServletResponseでレスポンスを管理
もう1つのオブジェクトが「HttpServletResponse」です。これはレスポンス情報(サーブレットからクライアントへ返送する情報)を管理するものです。クライアントへの出力なども、このHttpServletResponseからPrintWriterを取り出して書き出します。
●Servlet 3.0のアノテーション
この他、Servlet 3.0を利用する場合には、このサーブレットの公開アドレスに関するアノテーションも用意することができます。これはクラスの宣言部分の上(@SuppressWarningsがあるところ)に記述します。@WebServlet( 公開アドレス )こんな感じになります。例えば、http://○○/sampleというアドレスで公開するなら、@WebServlet("/sample")と記述しておけば良いのです。これでサーブレットは、指定したアドレスで自動的に公開されます。
(2.5の場合は、アノテーションは使えません。別途、設定ファイルを用意することになります。これについてはこの後に)
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※サーブレットクラスの基本形 import javax.servlet.http.*; @SuppressWarnings("serial") public class クラス名 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { ……ここにGETの処理を書く…… } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { ……ここにPOSTの処理を書く…… } }
※関連コンテンツ