Java

javaサーブレットとは?javaサーブレット開発の見分け方。現場でどのように役立つ?

サーブレット開発

javaは学んだけど、

どうやら開発の現場ではサーブレットという技術で動いているらしい

という方のために

  • javaサーブレットとは?
  • javaサーブレットで開発されているかの見分け方
  • 知っておくとどのように役立つ?

概要で説明してみます。

javaサーブレットとは?

javaサーブレットとは何か?

それは

javaのWEB開発でアプリケーションサーバーを介して、行う技術のこと。
またプログラムそのものをこと

です。

javaでWEBアプリケーションを開発する際は

ブラウザから入力された画面をサーバーで受け取り

返してあげたりします。

その役割を『サーブレットクラス』がしてあげるのです。

要は

サーブレットクラスがサーバー内で動いている仕組みそのものが

『サーブレット』

と呼ばれるものです。

具体的にどの部分がサーブレット?

では、

サーブレットが入っているものとそうではないもの

ってプログラム上、どうやって見分けるのでしょう?

実はjava開発でブラウザから入力されてサーバーから何か結果を返すような仕組みになっているものはほとんどjavaサーブレットを使用しています。

それだと答えにはならなので、見分け方としては

『サーブレットクラス』というjavaのソースコードが存在していれば

『javaサーブレットで動いている』

ということになります。

サーブレットクラスの見分け方

では『サーブレットクラス』はどうやって探すのでしょう?

サーブレットクラスで出来たソースというものは

実装ルールがあり、特徴があります。

以下のように実装されていればそのソースコードはサーブレットクラスです

  • import文に『javax.servlet.~』がある
  • HttpServletを継承している
  • classの引数がHttpServletRequest,HtttpServletResponseになっている

例えば以下のようなソースコードです。
サーブレットクラスの例

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/SampleServlet")
public class SampleServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  protected void doGet(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {

    ・・・・
}

見つけられない場合もある

サーブレットクラスはサーブレット開発の核となる部分です。

そのため、フレームワークによっては継承などで、隠れている場合もあるので見つけられない場合もあります。

しかし、上記のような条件に1つでも当てはまればjavaサーブレットで動いているとみても良いでしょう。

現場でどのように役立つか?

実際の開発現場ではjavaサーブレットの知識はどのように役立つか?

開発環境を構築するときに、多少役立つ程度でその後は、出番は少ないと思います。

最初のころは、サーブレットの仕組みとかわからなくても良いと思います。

知っておくには越したことはないのですが、

現場のプログラマーは

お客様は何をしたいのか?

ということを中心に考えることが多いのであまりサーブレットがどうだのという話には発展しないことは多いです。

お客様のしたいことを実現するために、このサーブレットの知識が必要になることは非常に少ないと思います。

ただし、実業務には直結はすることは少ないですが、

『サーブレットという仕組みで動いている』

ということを認識していれば、現場リーダーや先輩に一目置いてもらえるとは思います。

最後に、サーブレットクラスが中核となりWEB画面側とやりとりをしている
以下のイメージだけは覚えて帰ってもらえればと思います。

では、良いjavaライフを!

関連記事