JavaでWEBアプリを作ろうとした時に、避けては通れない用語として、「Java Servlet(サーブレット)」があります。
Java Servlet(サーブレット)とは
概要
サーブレットとは、簡単にいうと「WEBアプリを開発するために作られたプログラムの部品」のことです。WEBサーバー上で動作し、WEBアプリの中心を担う機能をもっています。
WEBサーバー上で動くJavaプログラム
サーブレットは、WEBサーバー上でお仕事をするプログラムです。
ただ、サーブレット自体は、WEBページをはじめとし画面に関する処理はいっさい行わず、WEBブラウザからの要求に応えたり、送られてきたデータを処理したりする役割をしています。
サーブレット単独では、WEBアプリ作成するための機能が不十分なので、後述する「JSP」や「Tomcat」と呼ばれる他のプログラムと連携してアプリを作る必要があります。
サーブレットの特徴
-
ライフサイクルを管理
処理が始まってから終了するまでの一連の流れ(ライフサイクル)を管理します。これにより、2回目以降の処理速度が速くなります。 -
マルチスレッドに対応
同時に複数の処理を行うことができます。これにより、複数のユーザーから同時にアクセスがある場合でも、効率良く処理が行えます。 -
プラットフォームに依存しない
Javaで書かれているため、Windows、macOS、LinuxなどのOSに依存せずに動作します。
サーブレットを利用した技術
JSP
「JSP」は、HTML内にJavaのコードを埋め込み、動的にWEBページを生成する技術のことです。サーブレットはWEBアプリ内部の処理を担当していますが、JSPは主にWEBページを担当しています。
サーブレットとJSPが連携することで、動的にWEBページを作ることが可能になります。
※動的にWEBページを作成するというのは、特定のユーザー情報を画面に表示したり、ログインしているかいないかで表示する画面の内容を変えたりすることを指します。
動的にWEBページを作成することで、WEBアプリを実現することが可能となるのです。
Tomcat
Tomcatは、無料で使えるWebサーバーであり、サーブレットを動かすソフトの1つです。サーブレットはあくまで部品に過ぎないので、サーブレット単独ではプログラムを動作させることができません。
Tomcatはサーブレットを動かすエンジンの役割をしていて、必要に応じて命令を出してサーブレットを動かしてくれます。