• ベストアンサー

JavaServerPageとサーブレットの違いとは?

最近Javaに興味を持った者です。 本を購入したのですがいくつか疑問手がありました。 まず、.jspとはJavaServerPageなのか、それともサーブレットの拡張子なのか? そして、お互いの違いとはいったい何なのでしょうか? よろしくお願いいたします。

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

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

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

MVCモデルというものに気を使うとJSPとサーブレットの役割はちょっとだけ違ってくるのですが、基本的には全く同じです。 JSPできるものはサーブレットでもできますし、その逆も同じです。ですから、最初は好きな方から勉強してとりあえずWebプログラムを作ってみたらいいと思います。 JSPも結局はTOMCATのインストールディレクトリのworkというフォルダにコンパイルされてサーブレットとなっています。 簡単に言えば、JSPの方が初心者向けもしくは#1様のおっしゃるように画面を作成しやすいようにコードを書けるというものです。サーブレットとJSPのコードを見ていただくと分かると思うのですが、JSPはHTMLスタイルでサーブレットは完全なJavaコードです(printなどでHTMLを出力しています)。ですので、中身は全く同じものです。 違いなんてものはありません。あえていうならば、JSPは一番最初のアクセスでWEBサーバ(TOMCATなど)が勝手にコンパイルするからその時だけ余分な実行時間がかかるというくらいです。

Intel_404
質問者

お礼

なるほど、どちらかというとJSPはPHPみたいなものでServletはJavaそのものなんですね。 ありがとうございました。

その他の回答 (1)

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

全然別物です。 JSPはGUI処理を行うもので、中身はHTMLとJavaプログラムのミックスされたようなプログラムになっています。 ServletはJSPから入力データを受け取り、必要な処理(ビジネスロジック)へと振り分けるJavaプログラムです。 よく「MVCモデル」と言いますが、 M=Model:ビジネスロジック(JavaBeanなど) V=View:JSP C=Controller:Servlet という役割分担になります。 拡張子で言えば、JSPは.jspですが、Servletは単なる.java(コンパイルすれば.class)です。

Intel_404
質問者

お礼

大変参考になりました。ありがとうございました。

関連する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とサーブレット

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

    • ベストアンサー
    • 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
  • サーブレットとPHPの違い

    こんばんは。 JAVAについて勉強したてのほやほやです。 ふと疑問に思ったのですが、サーブレットとPHPの違いってなんですか? また、それぞれ、どういう時に使い分けたらいいんですか?? サーブレットは、サーバーで動くしDBも扱えると思います。 PHPの方も、サーバーで動くしDBも扱えます。 この2つの違いを教えてください。 宜しくお願いいたします。

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

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

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

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

  • JAVAサーブレットの勉強手こずってます

    一通りJAVA入門書で勉強した後、JSPとサーブレットの学習本を購入したのですが、サーブレットがよく分かりません。 パッケージのクラスを利用する為にnewする必要があるみたいですが…。 なぜnewする必要があるのでしょうか

  • サーブレットや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 バージョンを初期に戻してもなってしまいます。 どなたか教えてもらえませんか。 よろしくお願いいたします。

専門家に質問してみよう