• ベストアンサー

JSPとサーブレット

JAVAを勉強している初心者です。 JSPとサーブレットの違いはなんなのでしょうか?もし違いが あるとしたら、JSPとサーブレットのそれぞれの長所と短所を 教えていただけるとありがたいです。

  • Java
  • 回答数2
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

簡単に説明します。 ■サーブレット > サーバーサイドで動くJava。主にブラウザでそのアクセスし、リクエスト結果をHTMLで表示することができるもの。 ■JSP > サーブレットによるHTML表示を簡単に表示できるようにしたもの。Javaの記述よりもHTML記述にJavaを埋め込む、といったイメージ。内部では一回目のアクセスでコンパイルされ、サーブレットに変換している。 長所と短所というよりも、役割により使い分けされていると考えたほうがいいかもしれません。 現在のWebプログラミングではMVCモデルと言われる考え方が一般的です。 M・・・モデルと言われる。ビジネスロジック(固有の処理)を定義する部分。 V・・・ビューと言われる。画面(HTML)そのものを指す。 C・・・コントロールと言われる。ユーザーからのリクエストを受け取り、それにより上記MとVの関係を(処理を行い、画面を表示する)コントロールする。 そしてJSPはV、サーブレットはCを担うことになります。 ■リクエストを受け取る → リクエスト内容により処理をおこなう。(M)→ 処理結果をJSPにて表示する。(V) 上記の一連の流れをサーブレットがコントロール(C)し、JSPは最後の画面表示の部分を行うことになります。 JSPは基本はHTMLで作成されるのでデザイナーとJavaプログラマーとの分業が可能になります(完全に分業がなされるわけではないですが)。 通常、サーブレットで画面表示を行うようにすると、画面デザインの確認が面倒になります。しかし、JSPでは簡単に行えます。 また、分けることによってサーブレットへのコーディング量が減り、ソースも見やすく、また、問題が発生したときどこに問題があるかというデバッグにも役立つことになります。

PGbeginner
質問者

お礼

MVCモデルというものがあるんですね。 なるほど。JSPは主に出力するときに使われるっていうイメージなのでしょうかね^^ 初心者目にもわかりやすく解説していただき ありがとうございます。参考にさせていただきます。

その他の回答 (1)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.2

基本はサーブレットです。 JSPは最初のリクエスト時に自動的にサーブレットに 変換されます。 JSPはこの複雑怪奇なサーブレットをもっと簡単に できないかといったことで出来ました。 とはいえサーブレットの仕組みが分からないと JSPも理解でき難いのも事実だと思います。

PGbeginner
質問者

お礼

回答ありがとうございました。 参考にさせていただきます。

関連するQ&A

  • JSP/サーブレットについて

    Javaは本のタイトル「やさしいJava」という本で一通り勉強しました。 似たような本は沢山ありますよね。例えば「独習Java」や「Javaの絵本」や「新Java入門」や、本当に沢山ありますよね。    でも、これって殆ど仕事では使わないですよね?? 構文などは必要かもしれませんが、仕事では「JSP/サーブレット」の方が必要かなと思いました。 今、その「JSP/サーブレット」の参考書を使って勉強中なんですが、「やさしいJava」や「独習Java」や「Javaの絵本」とは全然違います。 しかも、全然わかりません・・・・・・。 書店には、「やさしいJava」や「独習Java」や「Javaの絵本」系の本は沢山あるのに、「JSP/サーブレット」系の本は前者に比べると割合が少なく感じます。実際に仕事では「JSP/サーブレット」を使うのに何で少ないのか疑問ですし、「JSP/サーブレット」がわからなく、勉強したいのですがどの本が良いのかわかりません。 ページをめくってみて、どの本が良いのか見ているのですが、 それでも、わかりません。 皆さんどのように勉強されましたか? また、良い参考書などがあれば教えて頂きたいのですが、 宜しくお願い致します。

    • ベストアンサー
    • Java
  • サーブレットとJSP

    まだJAVAを始めたばかりなのですが急にサーブレットを やることになりました。 昨日慌てて本を買ったのですが・・・全然わからなくて。 基本中の基本として恥ずかしいのですが。 サーブレットとJSPの違いはどういうふうに違うのですか? 教えていただければ嬉しいです。 あと初心者にオススメの書籍などありましたら教えていただければと思ってます。

    • ベストアンサー
    • Java
  • jsp/サーブレット

    jsp サーブレットを勉強しています。 jspに入力された値を サーブレットに投げます。 サーブレットからjavaクラスに値を投げて javaクラスで値が正しいかどうかを判断します。 その結果をサーブレットに投げて、 サーブレットからjspに投げて jspで結果を表示する。というのは理解できました。 しかし私が行いたいのは、 クライアントがjspにアクセスしたときに、 javaクラスにある値をjspに表示させたいというものです。 この場合はサーブレットに何も投げるものがないのですが、 jsp→サーブレット→javaクラス→サーブレット→jsp このようにサーブレットを使って表示させるには、 どのようなプログラムを書いたらいいのでしょうか。 わかりにくい説明で大変申し訳ないですが、 具体的なプログラムを教えていただけるとありがたいです。 また、参考になりそうなURLがありましたら教えてください。 よろしくお願いします。

  • Java JSP/サーブレット strutsの勉強について

    ただ今Javaを勉強中の初心者です。 Javaの本は初心者向けの本を買って勉強中です。 基本のJavaが終わったらJSP/サーブレット→strutsと勉強していきたいと思っています。 そこでJSP/サーブレットとstrutsの初心者向けの分かりやすい本があったらぜひ教えてください。

    • ベストアンサー
    • Java
  • サーブレット&JSPでswing使いますか?

    現在、サーブレット&JSPの勉強をしている初心者です。 JAVAの勉強中にSwingなどを使ったGUIのプログラムをあまりしなかったので すが、サーブレット&JSPなどのWeb開発では使用するのでしょうか? またその頻度はどの位なんでしょうか? ご存知の方教えて下さい。

    • ベストアンサー
    • Java
  • java JSP/サーブレット

    Javaの参考書をやったのですが(参考書:やさ○いJava)、これはアプレットと聞きました。アプレットは現場では殆ど使われないと聞き、JSP/サーブレットは現場で使うと聞いたのでJSP/サーブレットをやっています。 でも、構文が少し違います。 *********************************** 例えば、Javaなら表示するときには System.out.printlnでしたが、 JSP/サーブレットでは違う構文です。 また、Javaならファイルが一つしかありませんでした。(コンパイルするとclassファイルができる) JSP/サーブレットは、スーパークラスやサブクラスは 別のファイルになっています。 ************************************ JSP/サーブレットはプログラム言語なんですか? JSP/サーブレットの中にもJavaの構文があるんですが、先にも述べたようにJavaと違う構文も含まれています。 ちょっと戸惑っています。 しかも、JSP/サーブレットに関する参考書が本屋さんで殆ど見られないのです。 お勧めの参考書などあればいいのですが、 数が少ないためか見当たりません。 それで、とりあえづ「10日で覚○るJSP/サーブレット」という本を買ったのですが、9割がたJSPです。 1割がサーブレットです。 こうなってくると意味がわからなくなってきます。 現場ではサーブレットと聞いていたのに、そのサーブレットが1割しか載っていない。え!?どういうこと!?更にはJSPとサーブレットの書き方も少し違うような気が・・・・。 もう何が何かさっぱりわからなくなってきました。 結局何を勉強すれば良いのか? そもそも、JSPとは?サーブレットとは? ネットで調べはしたもののピンときません。 現場でJavaをやりたいのですが、独学方法というか、 アドバイスを宜しくお願いします。

    • ベストアンサー
    • Java
  • サーブレットやJSPは暗記物?

    Javaを勉強後、現在サーブレット、JSPを勉強中です。 関連の初心者本を読んでいるのですが、サーブレット、JSPが ある機能をするのに手順がありそれはほぼ丸暗記しないと使えない感じを受けました。具体的には、メール送受信機能やファイルのアップロード/ダウンロード、認証などです。 実際実務だとこれらはもう部品になっていて呼ぶだけで1から作る事は無いかもしないのですが、どうなのでしょう? Javaを勉強中は、オブジェクト指向についてのポイントがあったので 手順を覚えるというより、ルールを覚える感じで理解しやすかったのですが…

    • ベストアンサー
    • Java
  • JSPからサーブレットへ、またJSPへ

    JSPで入力した項目をJAVAサーブレットでXMLに書き込んで XMLのデータをJSPに送るプログラムを作っています。 作成してはテストして改良するを続けていたのですが、 JSPからサーブレットへ行くときにJSP→サブレット→JSPと ならなくてはいけないのにJSP→サブレットでとまってしまいます。 <--いつもどおり--> http://localhost:8080/sawashi/jsp/sinki2.jsp          |          |addsinki(XMLへ書き込むサーブレット)          ↓ http://localhost:8080/sawashi/jsp/sinki3.jsp <--今回の件--> http://localhost:8080/sawashi/jsp/sinki2.jsp          |          | http://localhost:8080/sawashi/servlet/addsinki (サーブレットが上記のように出てしまいsinki3.jspへ飛ばない)          ↓× http://localhost:8080/sawashi/jsp/sinki3.jsp バージョンを初期に戻してもなってしまいます。 どなたか教えてもらえませんか。 よろしくお願いいたします。

  • jspとサーブレット

    jspはサーブレットに比べるとソースファイルを生成しなければならない分、処理速度が遅くなると書かれてたのですが、ソースファイルを生成とはどういうことなのかわかりません。htmlに埋め込まれたJAVAを取り出すということでしょうか? またサーブレットもJSPもクライアントから要求がきてからプログラムをコンパイルしてるのでしょうか?すなわちコンパイルされてないままWEBサーバに保管されてるのですか? 2点よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPとサーブレットについて

    JSP/サーブレットと格闘しています。 JavaファイルもJSPファイルもコンパイルは通り、classファイルも無事できました。Eclipseで実行も確認できました。さて、このファイルをHTMLから実行するにはどうしたらいいのでしょうか?

専門家に質問してみよう