0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Java]HttpServletクラスの継承と構造

Last updated at Posted at 2020-12-16

目次

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クラスを継承します。

servlet.java
import javax.servlet.http.HttpServlet;

public class SampleServlet extends HttpServlet {

}

Javaのライブラリで、サーブレットに必要な機能(HTTP通信に特化した機能)を実装したクラスが提供されているので、開発者はHttpServletを継承し、メソッドをオーバーライドすることで、 自分たちのサーブレットを作成することができます。

4. HttpServletクラスの構造

HttpServletクラスの構造は以下の様に表現する。
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()メソッドをオーバーライドします。

doGetSample.java
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(サーブレット)のほんの入り口部分を簡単に紹介したものです。
詳しく調べるともっと深い知識や実装方法がありますので、お試しください。
この記事を作成するにあたり、参考にさせて頂いた記事を以下に記載します。
以上、何かしら皆様のお役に立てば幸いです。

参考記事:サーブレットの作成(基本的なコーディング)

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?