- ベストアンサー
JavaServerPageとサーブレットの違いとは?
最近Javaに興味を持った者です。 本を購入したのですがいくつか疑問手がありました。 まず、.jspとはJavaServerPageなのか、それともサーブレットの拡張子なのか? そして、お互いの違いとはいったい何なのでしょうか? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
MVCモデルというものに気を使うとJSPとサーブレットの役割はちょっとだけ違ってくるのですが、基本的には全く同じです。 JSPできるものはサーブレットでもできますし、その逆も同じです。ですから、最初は好きな方から勉強してとりあえずWebプログラムを作ってみたらいいと思います。 JSPも結局はTOMCATのインストールディレクトリのworkというフォルダにコンパイルされてサーブレットとなっています。 簡単に言えば、JSPの方が初心者向けもしくは#1様のおっしゃるように画面を作成しやすいようにコードを書けるというものです。サーブレットとJSPのコードを見ていただくと分かると思うのですが、JSPはHTMLスタイルでサーブレットは完全なJavaコードです(printなどでHTMLを出力しています)。ですので、中身は全く同じものです。 違いなんてものはありません。あえていうならば、JSPは一番最初のアクセスでWEBサーバ(TOMCATなど)が勝手にコンパイルするからその時だけ余分な実行時間がかかるというくらいです。
その他の回答 (1)
- PCFREAK
- ベストアンサー率51% (417/805)
全然別物です。 JSPはGUI処理を行うもので、中身はHTMLとJavaプログラムのミックスされたようなプログラムになっています。 ServletはJSPから入力データを受け取り、必要な処理(ビジネスロジック)へと振り分けるJavaプログラムです。 よく「MVCモデル」と言いますが、 M=Model:ビジネスロジック(JavaBeanなど) V=View:JSP C=Controller:Servlet という役割分担になります。 拡張子で言えば、JSPは.jspですが、Servletは単なる.java(コンパイルすれば.class)です。
お礼
大変参考になりました。ありがとうございました。
お礼
なるほど、どちらかというとJSPはPHPみたいなものでServletはJavaそのものなんですね。 ありがとうございました。