[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Java Servlet

pointこの用語のポイント

pointJavaのプログラムだよ

pointWebサーバ上で動くよ

スポンサーリンク

簡単に書くよ

Java Servletとは

Webサーバ(ホームページのファイルを置くサーバ)上でお仕事をするJavaのプログラム
です。

image piyo

詳しく書くよ

※このページの説明は「サーブレット」の説明と同じです。既に「サーブレット」の説明をご覧になった方は、読んでも意味が無いと思います。

Javaプログラミング言語の一つね。
プログラムの元ネタ(ソースコード)を書くときに使う言葉です。

Javaを生み出した人は、このプログラミング言語を使って、いろいろなプログラムを作れるようにしました。

例えば、普通にパソコンさんで動くJavaプログラムです。
最初からパソコンさんの中にいて、パソコンさんの中でお仕事をします。
このJavaプログラムを「Javaアプリケーション」と言います。

Java Servlet

あるいは、Webブラウザホームページを見るときに使うソフト)で動くJavaプログラムです。
最初はWebサーバ(ホームページのファイルを置くサーバ)にありますが、ホームページを見るときにパソコンさんに移動してきて、お仕事自体はパソコンさんの中でします。
※「サーバ」は「サービスを提供するコンピュータ」ね
このJavaプログラムは「Javaアプレット」と言います。

Java Servlet2

あるいは、Webサーバで動くJavaプログラムです。
このプログラムは、いわゆる「CGI」と呼ばれている奴等と同じです。
普段はWebサーバ上で待機していて、パソコンさんとかから何か要求が来ると「へいへい、分かりましたよ~」とお仕事を始めます。

お待たせしました。
この「Webサーバで動くJavaプログラム」が「Java Servlet」です。

Java Servlet3

ちなみに、Webサーバで動くJavaプログラムには、他に「JSP」と呼ばれる奴がいます。
JSPさんは一見するとJava Servletさんとは別人ですが、実際にお仕事をするときはJava Servletさんに変身します。
ですから、実質的にJSPもJava Servletです。
もちろん、細かい違いはいろいろありますけどね。
気になる方は調べてみてください。

話をJava Servletに戻します。

Java Servletさんがお仕事をするためには「サーブレットコンテナWebコンテナサーブレットエンジン)」と呼ばれるソフトウェアが必要です。
せっかくなので、サーブレットコンテナについても、ものすご~~~~い大雑把に説明しておきますね。

パソコンさんからJava Servletさんにお仕事の依頼が来たとしましょう。

Java Servlet4

このお仕事の依頼は、まずサーブレットコンテナさんが受け取ります。

Java Servlet5

そして、サーブレットコンテナさんがJava Servletさんにお仕事をさせるのです。

Java Servlet6

よく分からなければ、Java Servletさんが働くお膳立てをするのが、サーブレットコンテナさんだとお考えください。
サーブレットコンテナさんのお陰で、Java ServletさんはWebサーバ上で職務を全うできています。
Java Servletさんとサーブレットコンテナさんは切っても切れない関係です。
せっかくなので併せて覚えてあげてくださいね。

また、Java Servletさんの特徴としてよく挙げられるのは、以下の3点です。

1.ライフサイクル管理
2.マルチスレッド対応
3.プラットフォーム非依存


うん、何のことかさっぱり分かりませんね。
順番に見ていきましょう。

まずは

1.ライフサイクル管理

です。

これは要するに「一度お仕事を始めたらしばらく待機しているよ」です。
ちょっと小難しい言い方をすると、一度メモリ上に展開したら、しばらくそのままになっているのです。

例えばCGIは、依頼が来ると起きてお仕事を始めますが、終わったらすぐに寝てしまいます。
そのため、依頼が来るたびに起きる時間が掛かります。

Java Servlet7

それに対してJava Servletさんは、一度起きたらしばらく起きています。
お仕事が終わってもすぐにはお休みしません。

つまり、起きるのに時間が掛かるのは最初の一回だけです。
二回目以降は既に起きているので、すぐにお仕事に取り掛かれます。
よって、一回目と比較して二回目以降の起動が早いのです。

Java Servlet8

これが「ライフサイクル管理」です。
「ライフサイクル管理」自体の意味はちょっと違いますが、出てきたら「一度起きたら起きっぱなしだから二回目以降のお仕事が少し速いのね」とお考えください。

次に

2.マルチスレッド対応

です。

説明するのが疲れてきたので、ざっくりと書いていきますね。
これは「たくさんの依頼を一人でこなせますよ」です。

プログラムさんは、お仕事をするときはメモリに居座ります。

Java Servlet9

1つのプログラムが1つの依頼しか処理できなければ、3つの依頼を処理するためには3つプログラムが必要です。
メモリの上に3人が乗るので、ちょっと狭いですね。

Java Servlet10

それに対して、1つのプログラムで3つの依頼を処理できれば、3つの依頼を処理するために必要なプログラムは1つです。
メモリの上に1人しか乗っていないので、広々ですね。

Java Servlet11

つまり、メモリの節約ができるということです。

これが「マルチスレッド対応」です。
一人で複数の依頼を処理できます。
出てきたら「メモリが節約できるのね」とお考えください。

最後に

3.プラットフォーム非依存

です。

これはJava ServletというよりはJavaの特徴ですね。
Javaの理念は「一度書けば、どこでも動く」です。
Java ServletもJavaなので、その理念を受け継いでいます。
WindowsだろうとLinuxだろうと何でもかかってこい!です。

よく挙げられる特徴としてはそんなところでしょうか。
他にもあるので、あとは頑張って調べてください。

image piyo2

一言でまとめるよ

まぁ「Java Servlet」って単語が出てきたら「Webサーバ上で動くJavaプログラムなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク