アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは、今回初投稿させてもらいます。aetklimです。よろしくお願いします。
過去ログを見たのですが、同じような質問が見当たらなかったので、質問させてもらいます。 初歩的なことなのですが、サーブレットとJSPの意味(違い)が分かりません。本やサイトなどで調べたのですが、初めての僕には意味不明なのでどなたか、詳しく、分かりやすいく説明してもらいませんでしょうか。 どうか、よろしくお願いします。返答をお待ちしております。

A 回答 (3件)

JAVA言語そのものについてはある程度は理解されているでしょうか。


また、WEBの仕組みやWEBアプリケーションについての理解も必要です。

Java Servletというのはサーバーの内部で動作するJAVA言語で作られたアプリケーションです。
動作としてはCGIと同じような動きをします。(仕組みは違いますが)
掲示板を例にするとHTMLページから送信されたデータを受取り、ファイルに書き込み、その結果画面をブラウザに送信するといった処理を行うのがServletです。

JSPはHTMLの記述の中にJAVAのコードを記述することでコンパイルなしでデータの受取りや動的なページの生成を行う技術です。
Servletを用いても動的なHTMLは作れますが、HTMLのコード全てをServletから送信しなければならないので面倒であり、また、HTMLは画面デザインに関係してくるので
コンパイルが必要なServletに記述していては画面の変更などをHTMLファイルのように簡単に行えません。
JSPはコンパイルをせずHTMLファイルの中に直接JAVAコードを記述するだけでで動的なページを生成できるのでデザインの変更などが行いやすいのがメリットです。
ただし、あまりJAVAコードを記述すると内容が複雑となり管理しにくくなります。
そこで役割としてサーバ内部の処理はServletで行い、画面表示はJSPで行うというのが一般的な方法となっています。

JSPはコンパイルしないと書きましたが、実際はサーバにインストールされたJSPコンテナというモジュールによって自動的にコンパイルされServletに変換されています。
簡単に書くとJSPはHTMLの中にServletのJAVAコードが埋め込まれていてアクセス(起動)されると自動的にコンパイル・実行を行う機能です。
つまりJSPも結局は同じServletであるということになります。
ただ、プログラムの処理と表示する画面の部分をメンテナンスしやすいように別々にしているという訳です。

下記のページで分りやすく解説されているので参考にしてください。

JSP・サーブレットについての解説
http://www.atmarkit.co.jp/fjava/rensai2/jspservl …

WEBの仕組み
http://www.lsd.tamagawa.ed.jp/johokiso/ITTEXT200 …
CGIについて
http://www.mytools.net/cgitips/index.html
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
JAVAについてはある程度基礎的な部分を理解しているつもりですが、
サーブレット、JSPの処理の流れについてよく分からなかったので質問させていただきました。

お礼日時:2003/03/04 11:49

> ちなみに一つお聞きしたいのですが


> JSPはクライアント側で動くとのことですが、クライアントで処理を行うこととお受けしてよろしいんでしょうか?

これは間違いです。
No.2でwolfwoodさんが記述されているように、JSPファイルはサーバ上で
JSPコンテナによって一度Servletに変換され、Servletコンテナによって
実行されます。
つまり、JSPについてもサーバ側で動作します。

ServletとJSPの違いについてもwolfwoodさんが記述されている通りです。
簡単に言うと、
1. マルチプラットフォームである優位性を生かして、サーバ上でJava
  アプリケーションを動かす仕組み(これがServlet)が考えられた。
2. Servletでは、HTMLなどのデザインを表示するのに、File出力などと同様、
  OutputStreamへの書き込みという方法を取るしかなかった。
3. 通常のアプリケーションと異なりWEBアプリケーションではデザインの変更が多く、
  それを専用に行うWEBデザイナもいるが、彼らはJavaについてはほとんど知らず、
  新しく勉強するには時間がかかる。
4. また、画面デザインがプログラム中に埋め込まれることで、画面デザインと
  実際のロジック(処理)が入り組んで、平行開発や既存のプログラムの改造が
  複雑になりやりにくくなる。

という前提があり、ある程度HTMLのようなマークアップ言語に近い形で記述できるように
と、JSPが開発されました。
    • good
    • 2
この回答へのお礼

回答ありがとうございました。
なんとなくですがServletとJSPについての内容と両者の違いなどが理解できたと思います。

お礼日時:2003/03/04 13:16

サーブレットはサーバ側で動きJSPはクライアント側で動きます。


クライアントから要求があると、サーブレットが処理結果を返します。
JSPはその際、表示に使います。
JSPの書き方はHTMLに非常に似てます。

以下の%で囲まれたところがJSPのタグです。
<html>
<head>
<title>Hello!!</title>
</head>
<body>
<% out.println("Hello!!"); %>
</body>
</html>

参考URL:http://www.atmarkit.co.jp/fjava/rensai2/jspservl …
    • good
    • 0
この回答へのお礼

ありがとうございます。
若干分からないことがありますが、参考のサイトで補おうと思います。

ちなみに一つお聞きしたいのですが
 JSPはクライアント側で動くとのことですが、クライアントで処理を行うこととお受けしてよろしいんでしょうか?

再度、おねがいします。

お礼日時:2003/03/04 11:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!