サーブレットとは、サーバ上で動くJavaプログラムのことです。
似たようなものに、JSP(Java Server Pages)というものがありますが、JSPとの違いも合わせて解説します。
サーブレットとは?
サーブレットとは、サーバ上で動くJavaプログラムのことです。
主にWebアプリケーションを作る時に使われます。
Webアプリケーションというのは、インターネットに接続すれば、インストールすることなく使用できるサービスを指します。
例えば、YouTubeやGmailなどもWebアプリケーションの1つです。
では、それらのWebアプリケーションを作る時に、サーブレットはどのように使われているのでしょうか?
サーブレットは、クライアントの要求に応じた処理を実行します。
例えば、Amazonでネットショッピングをする時を考えてみましょう。
この時、クライアントはあなた自身(あなたが見ているWebサイト)です。
あなたは「本」を購入したいと考えています。
検索の欄に「本」と入力して、検索すると、「本」に関する検索結果が表示されます。
これは、クライアントで入力された情報(「本」を検索したという情報)をサーブレットが受け取り、「本」に関する検索結果のページを表示する処理を行ったからです。
もちろん、検索ワードを変えても、検索ワードに応じたページを表示してくれます。
また、検索以外にも「商品をカートに入れる」処理や、「欲しいものリストに保存する」処理など、クライアントの様々な要求に応じて、処理を行ってくれます。
このように、サーブレットを使うことによって、クライアントの要求に応じた処理を行うことができるのです。
JSPとの違い
JSPとはJavaServletPagesの略称で、サーブレットと一緒に使われます。
JSPでもサーブレットと同じような処理を実装をすることができますが、その書き方に違いがあります。
サーブレットでは、Javaのソースコード内にHTMLコードを埋め込みます。
JSPは、HTMLのソースコード内にJavaコードの処理を埋め込みます。
要するに、サーブレットはJavaファイル、JSPはHTMLファイルで、それぞれにJava、HTMLのコードを埋め込めるというイメージです。
JSPはHTMLベースのため、サーブレットよりもHTMLでの出力部を記述しやすく、画面表示の処理に向いています。
また、コンパイルのタイミングも異なります。
JSPはクライアントから初回のリクエストを受信した時に、サーバがサーブレットに変換してからコンパイルを行います。
まとめ
サーブレットとは?
クライアントの要求(リクエスト)に応じた処理を実行するJavaプログラム
JSPとの違いは?
・サーブレットはJavaベース、JSPはHTMLベース
・コンパイルのタイミングが異なる
コメント