カンパ〜イ!←最初の1杯目、なに頼む?

こんにちは。大学3年生で情報系学部に通っています。
質問はタイトルのとおり、
「JSPとサーブレットは両方勉強する必要があるのですか。」です。
もちろんあると思っているのですが、なぜなのでしょうか。

また「人事管理システム」のようなのものを作りたいと思っています。
名前や住所を登録して、検索したり、印刷したりできるというものです。
jsp&sevletどちらも使うのでしょうか。

javaは「やさ○いjava」で勉強しました。
「やさ○いjava」活用編でjsp&sevletをやりました。
jsp&sevletをもっと勉強したいと思っています。

A 回答 (5件)

がると申します。

専門職です。一応「個人的雑感」ということで読んでいただければ。
サーブレット一本で組むことは十分に可能です。JSPは…個人的にはあまり好まないので割合に「回避」するほうなのですが。無論組み合わせることで「便利になる」ことを否定は致しません。
JSPは、イメージ的にはMVCのVの部分に近しい、或いは、一時期流行っていた「HTML内にソースがかけるメリット」を追求したものになるかと思うのですが。
現実問題として、現在業務で「HTMLとロジックを混在させる」ことは稀ですし(通例、テンプレートエンジンなどを用いて分離させます)、そういった意味合いも込めて、JSPについては、私の周囲では比較的に減少傾向にあるように感じられます。
で、上述の話を抜きにすると、基本的には結局「Javaの文法」ですので、そのあたりは概ね似たり寄ったりです。

あと、JavaScriptについて言及があるようですが、別に「必須」ではありません(というか業務でアレが必須というのは、基本的には想定しにくいです。昨今はやりのAjaxを考慮して、なお)。JavaScriptは基本的に「なくてもOKなんだけどもし動いたら操作性がよくなる」にとどめておかないと、色々と厄介ごとを生みますので。

以上、個人的雑感で恐縮ですが、現場からの1見解でした。
    • good
    • 0
この回答へのお礼

がるさんが私の質問に答えてくれた(喜)。
JSPではなくてサーブレットのほうがよく使うというのは以外でした。サーブレットから学んでいきます。

>現実問題として、現在業務で「HTMLとロジックを混在させる」ことは稀ですし(通例、テンプレートエンジンなどを用いて分離させます)
まさに専門的ですね。こういう仕事したいなーと思います。

>「Javaの文法」ですので、そのあたりは概ね似たり寄ったり
javaの文法を意識してやろうと思います。すごくわかりやすかったです。

お礼日時:2006/09/14 03:26

あるといえばありますが、Servletはさわりだけでいいと思います。


#JSPは実行時にServletに変換され、コンパイルされ、実行されるので結局同じ事ですけど。

昨今はStrutsを代表とするフレームワークの利用が必須で、サーバー上のロジックはServletの上にビジネスロジックを被せた状態で動きます。
PGが作るのはこのビジネスロジックだけになる(深い部分は共通チームが片付けます)ので、Servletに依存した処理はめったに書きません。


大してJSPは、テンプレートエンジンが多く出回っていてもまだ使われています。仕事によってJSFが絡んだりAJAXが絡んだりしますが。
しかし、こちらはHTMLが基本です。JSP独自の部分よりむしろ、きちんとしたHTMLとCSS、JavaScriptを必要に応じて使いこなせることが重要です。


なので、業務での重要度は
ビジネスロジック>フレームワークやORMツール>HTML,CSS,JavaScript>JSP>Servlet
位だと思います。まあ、どれも「知らない」では済まされませんが。
フレームワークを使っていても、基本はServletですし、JSPだって結局使います。全部知っていて、適材適所で使い分けるのです。
    • good
    • 1
この回答へのお礼

"Strutsを代表とするフレームワークの利用が必須"なのですね。
jsp/sevletの後でやろうと思っていたので、近いうちに重点的にやろうと思います。

”JSPはまだ使われています””こちらはHTMLが基本です。”JSPのことも念頭においておきます。
仕事によって使われてる技術が違うんだなと感じました。

早く”ビジネスロジック”、”テンプレートエンジン”などの意味が判るようになりたいと思いました。

お礼日時:2006/09/15 13:12

学生で実務経験はないことを先に申し上げておきます。



結論から言えば、どちらも出来たほうが良いともいます。
JSPで出来ることはサーブレットで実現できますし、その逆も可能(らしい)です。
(分かっていたらここは読み飛ばしてください)
しかし、手間の側面から考えると
out.println("Hallo World");
と綴り誤り等を発見した(おまけに処理と直接関係ない)場合、
out.println("Hello World");
と書き直した際も手動コンパイルが必要になります。
しかしJSPであれば修正して、そのページを呼び出せば自動でコンパイルがかかります(初回は時間がかかる)。

ので私は勉強したほうが良いと思います。

がるさんの言うように減少傾向かもしれませんが、再興もありえないとも限らないですし。

以降はお礼から
>”JavaScriptも必須”なのには驚きました。
必須ではないと思います。
ブラウザの設定ひとつで無効に出来てしまうので、信頼できず、「JavaScriptを有効にしてください」などと出ると私はムッときます。(ユーザ視点の一例と考えてください)
>javaは万能じゃないってことが感じられました。
人間が作ったものだから仕方ないと思います。
>”両者の切り分けがよく飲み込めていない”です。
「表示に関する部分はJSP、処理はservlet」と参考書には書かれています。深く考えなくても感覚で良いと思います(仕事でないなら)
    • good
    • 0
この回答へのお礼

”JavaScriptは必須ではない”との意見も多いですね。
私もHPづくりで使ってみて使いにくいなと思っていました。
仕事によっては”必須”というくらいにとどめておきます。
またサイトを作る際さいの選択肢の一つであると。

”JSPは再興もありえないとも限らない”ので両方ともやろうと思います。

私はコンパイルが結構好きなのでサーブレット派かな。

お礼日時:2006/09/14 18:23

>JSPとサーブレットは両方勉強する必要があるのですか



実際、多少勉強されたならわかっていることと思いますが、JSPとサーブレットというのは、実は「同じもの」です。ですので、分けて片方だけ勉強するというのは、逆に難しいかと。

もし、そのあたりがまだよくわかっていないということでしたら、もう少し勉強されるとよいと思いますよ。そうすると「どっちを勉強すべきか」という発想自体が間違いだったことがわかってくると思います。

>また「人事管理システム」のようなのものを作りたいと思っています。
>名前や住所を登録して、検索したり、印刷したりできるというものです。
>jsp&sevletどちらも使うのでしょうか。

インターフェイスはJSP、ロジックはサーブレットでしょう。このあたりも、まだ両者の切り分けがよく飲み込めていないのだろうと思います。

Javaでサーバサイドをやろうというのでしたら、正直に言いまして「JSPとサーブレットのどっちか」というところで悩んでいる時点でちょっと心もとないです。それは、いわば「数学を勉強するのに、足し算と引き算のどっちを勉強すべきか」みたいなものですから。どっちも使えて当たり前、それがわかってようやくスタートライン、と考えたほうが良いでしょう。
    • good
    • 0
この回答へのお礼

そうです。”同じもの”だからこそどっちもやる必要あるの?と思っていたのです。

”両者の切り分けがよく飲み込めていない”です。
”どっちも使えて当たり前”ですね。

大変勉強不足でした。
javaの文法からjsp/servletからもっと勉強します。

お礼日時:2006/09/14 00:37

JSPとサーブレットだけではなくて、それなりに使えるサイトを作りたい場合は、JavaScriptも必須だと思います。


これは、Web構築で使われているJSPやServletの技術が良く言えば「発展途上の技術」悪くいえば、「場当たり的な(できそこない)技術の集大成」なので、「これ1つでOK!」って言えない状況なんです。
以前、「JSP&Serevlet&JavaScript」という構成で大手企業のシステムの開発を数十人のチームでやったことがありますが、「あんなに作りにくいものを苦労して仕上げたけど、出来上がりはいまいち、2度とやりたくない!」って印象を持ちました。

で、本来の質問に戻りますが、Servletのみでシステムを作ることは可能です。が、それはJavaでプログラムを書いて、コンパイルしないといけない。バグや変更があると、これらを繰り返すことになります。とーーーてもめんどくさい!でもJSPはHTMLの中に命令を「混ぜご飯」するだけでいい。コンパイルも不要(まあ、実際はコンパイルされているらしいが、人間がコマンドを打つ必要はない)で楽です。

でも、当然ながら、JSPだけでは、出来ないこともイロイロあってServletが必要になるし、エラーチェックや操作性の向上にはJavaScriptも必要になってしまうんです。

JSPやServletという単語を見ると、ちょっと感情的になってしまいます。すいません。
    • good
    • 0
この回答へのお礼

”JavaScriptも必須”なのには驚きました。

”「Web構築で使われているJSPやServletの技術が良く言えば発展途上の技術」悪くいえば、「場当たり的な(できそこない)技術の集大成」”なのですね。
JSPやServlet両方ともやることにします。

javaは万能じゃないってことが感じられました。

お礼日時:2006/09/14 00:32

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


おすすめ情報