【Java】サーブレットとは?【JSPとの違いも解説】

サーブレット_アイキャッチ画像 Java

サーブレットとは、サーバ上で動く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ベース
 ・コンパイルのタイミングが異なる

コメント

タイトルとURLをコピーしました