No.2ベストアンサー
- 回答日時:
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
回答ありがとうございます。
JAVAについてはある程度基礎的な部分を理解しているつもりですが、
サーブレット、JSPの処理の流れについてよく分からなかったので質問させていただきました。
No.3
- 回答日時:
> ちなみに一つお聞きしたいのですが
> 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が開発されました。
No.1
- 回答日時:
サーブレットはサーバ側で動き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 …
ありがとうございます。
若干分からないことがありますが、参考のサイトで補おうと思います。
ちなみに一つお聞きしたいのですが
JSPはクライアント側で動くとのことですが、クライアントで処理を行うこととお受けしてよろしいんでしょうか?
再度、おねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- Instagram 『Instagram』について 私は好きな芸能人の投稿を見たくてInstagramを始めました。 そ 4 2022/10/09 05:02
- その他(占い・超常現象) おみくじに関する質問です。かなり本気な質問で、自分的には結構ショッキングな内容ですので、冷やかしや当 1 2023/07/09 20:55
- 予備校・塾・家庭教師 塾 オンライン授業について 通っている塾にもう1教科プラスする事になり オンライン授業を始める事にな 1 2023/08/08 21:56
- 教えて!goo 変な回答者 1 2022/08/15 16:50
- 待ち受け・壁紙 みなさん、こんにちは! コミュニーケーション能力についてのご質問です。 コミュニーケーション能力を上 2 2023/03/11 11:41
- デジタルカメラ 画像のJPGファイルの「大きさ」と「サイズ」の意味の違いをお教えください。 8 2022/09/18 14:50
- 英語 受け身の使い方 3 2023/04/24 22:21
- 夫婦 同じような行動を繰り返すのは自閉症の行動特性とあります。このサイトでも似たような質問ばかり繰り返し 1 2022/07/23 09:12
- 日本語 否定疑問文への回答について 6 2023/01/10 09:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンパイルエラーに出てくる、i...
-
java サーブレットのサンプルプ...
-
IIS環境でJAVAを使用したい
-
.jarファイルの中身って書き換...
-
javaが文字コードの影響でコン...
-
Eclipse3.5EEでJavaのコンパイ...
-
emacsでjavaをコンパイルする方法
-
サクラエディタでjavaのプログ...
-
Javaについて教えてね。
-
importしたパッケージが見つか...
-
eclipseについて
-
コンパイルができないのですが...
-
文字化けについての質問
-
warファイルを展開するとタイム...
-
java.lang.ClassNotFoundException
-
classファイルを元に戻す
-
javax.servlet は存在しません...
-
MinGWでインストールしたGCJに...
-
JAVAの開発環境と実行環境について
-
同一パッケージ内の継承について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
IIS環境でJAVAを使用したい
-
Eclipse3.5EEでJavaのコンパイ...
-
コンパイルエラーに出てくる、i...
-
javaが文字コードの影響でコン...
-
javax.servlet は存在しません...
-
「識別子がクラス名でも名前空...
-
サクラエディタでjavaのプログ...
-
TOMCAT_HOMEって?
-
Javaのコンパイル結果が表示さ...
-
eclipseの構文エラーについて
-
javaの簡単なソースがコンパイ...
-
java.lang.ClassNotFoundException
-
Jakarta POI のHSSFでのフッタ...
-
逆コンパイルの見方について
-
日本語対応 逆コンパイラについて
-
C言語について。
-
dokojavaのコンパイルについて
-
jasperとは
-
importしたパッケージが見つか...
おすすめ情報