目次
1. はじめに
2. Servlet(サーブレット)とは?
3. HttpServletクラスの継承
4. HttpServletクラスの構造
5. サンプル
6. さいごに
1. はじめに
本記事は以下の様な人向けに作成しました。
・「初めてJavaを使ってみよう」
・「Java使ってWebアプリを作ってみたいな」
・「サーブレットって言葉が出てきたけど・・・」
皆様の学習の何かのお役に立てば幸いです。
以下を参考に記述しています。
引用サイト:【Java】サーブレットの作成(基本的なコーディング)
2. Servlet(サーブレット)とは?
Servlet(サーブレット)とは、サーバー上でウェブページやウェブアプリなどを動的に処理・生成したりするために、Javaで作成されたプログラムです。JavaEEの一機能でもあります。
3. HttpServletクラスの継承
一般的にサーブレットを作成する場合は、javax.servlet.http.HttpServletクラスを継承します。
import javax.servlet.http.HttpServlet;
public class SampleServlet extends HttpServlet {
}
Javaのライブラリで、サーブレットに必要な機能(HTTP通信に特化した機能)を実装したクラスが提供されているので、開発者はHttpServletを継承し、メソッドをオーバーライドすることで、 自分たちのサーブレットを作成することができます。
4. HttpServletクラスの構造
・HttpServletクラスの主なメソッド
init()メソッド
サーブレットの初期化処理を行うメソッド。
初期化パラメータの取得。
サーブレットのインスタンス生成時に最初に呼び出される。
service ()メソッド
リクエストを受け付け、レスポンスを返すメソッド。
クライアントからリクエストのたびに実行される。
HttpServletクラスのservice()メソッドは、クライアントのリクエストの種類に応じて、以下の分岐をおこなう。
・http GET method → doGet ()メソッドが実行される
・http POST method → doPost ()メソッドが実行される
doGet()メソッド
http GET methodでリクエストを受け付け、レスポンスを返すメソッド。
service()メソッドから分岐して実行される。
doPost()メソッド
http POST methodでリクエストを受け付け、レスポンスを 返すメソッド。
service()メソッドから分岐して実行される。
destroy()メソッド
サーブレットの終了時に必要な処理を記述するメソッド。
サーブレットのインスタンスが破棄されるときに呼び出される。
5. サンプル
doGetメソッドを使用したサンプルです。
HttpServletを継承したクラスを作成し、doGet()メソッドをオーバーライドします。
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 処理を記入
// 例)request の内容を解析し使用する
// ・・・
// 例)response に返却したい内容を入れる
}
}
上記の処理記入のところを自由にコーディングし使用してみてください。
6. さいごに
本記事はServlet(サーブレット)のほんの入り口部分を簡単に紹介したものです。
詳しく調べるともっと深い知識や実装方法がありますので、お試しください。
この記事を作成するにあたり、参考にさせて頂いた記事を以下に記載します。
以上、何かしら皆様のお役に立てば幸いです。