では、サーブレットの基本を説明しましょう。サーブレットというのは、基本的に「
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を取り出して書き出します。
●Servlet 3.0のアノテーション
この他、
Servlet 3.0を利用する場合には、このサーブレットの公開アドレスに関する
アノテーションも用意することができます。これはクラスの宣言部分の上(
@SuppressWarningsがあるところ)に記述します。
@WebServlet( 公開アドレス )
こんな感じになります。例えば、
http://○○/sampleというアドレスで公開するなら、
@WebServlet("/sample")と記述しておけば良いのです。これでサーブレットは、指定したアドレスで自動的に公開されます。
(2.5の場合は、アノテーションは使えません。別途、設定ファイルを用意することになります。これについてはこの後に)