「Servlet」と「JSP」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| Java | 「一度書けば、どこでも動く」の理念で作られたプログラミング言語で「オブジェクト指向」という言葉を流行らせたやつ |
| Webサーバ | ホームページ関連の仕事をしているサーバ(サービスを提供するコンピュータ) |
| HTMLファイル | ホームページのファイル |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| Servlet | Webサーバ上でお仕事をするJavaのプログラム |
| JSP | Webサーバ上でお仕事をするJavaのプログラムで、HTMLファイルとJavaのプログラムが合体したもの |
似ているところ
どちらもWebサーバ上で動くJavaのプログラムです。

違うところ
プログラムの書き方が違います。
ServletはガッツリとJavaのプログラムっぽい書き方をします。
それに対してJSPは、PHPっぽい書き方というか、HTMLファイルの中にJavaのプログラムが埋め込まれたような書き方をします。
例えば、以下のような書き方です。
<html>
<head><title>はろーわーるど</title></head>
<body>
<h1>はろーわーるど</h1>
<%
String word1 = "Hello World!";
out.println(word1);
%>
</body>
</html>
Javaのプログラム部分は
<%
String word1 = "Hello World!";
out.println(word1);
%>
です。
あとはHTML部分になります。
実際のところ、ServletとJSPの違いは書き方だけです。
JSPは、お仕事の依頼が来ると「サーブレットコンテナ」と呼ばれるServletを動かすソフトによってServletに変換され、Servletとしてお仕事をします。
よって、働いているときの姿は同じです。

そんな感じなので、JSPとJava Servletは同じといえば同じです。
単に
1.プログラムの作り方が違う
2.お仕事が始まるときの手順が違う
だけですよ。
「1」に関しては、Servletが普通のJavaっぽい書き方になるのに対し、JSPはPHPっぽい書き方になります。
「2」に関しては、JSPはお仕事が始まるときに、Servletに変身する工程が発生します。
それ以外、実際にお仕事をしているときの姿は同じ(どちらもServlet)です。






