こんにちは。大学3年生で情報系学部に通っています。
質問はタイトルのとおり、
「JSPとサーブレットは両方勉強する必要があるのですか。」です。
もちろんあると思っているのですが、なぜなのでしょうか。
また「人事管理システム」のようなのものを作りたいと思っています。
名前や住所を登録して、検索したり、印刷したりできるというものです。
jsp&sevletどちらも使うのでしょうか。
javaは「やさ○いjava」で勉強しました。
「やさ○いjava」活用編でjsp&sevletをやりました。
jsp&sevletをもっと勉強したいと思っています。
No.3ベストアンサー
- 回答日時:
がると申します。
専門職です。一応「個人的雑感」ということで読んでいただければ。サーブレット一本で組むことは十分に可能です。JSPは…個人的にはあまり好まないので割合に「回避」するほうなのですが。無論組み合わせることで「便利になる」ことを否定は致しません。
JSPは、イメージ的にはMVCのVの部分に近しい、或いは、一時期流行っていた「HTML内にソースがかけるメリット」を追求したものになるかと思うのですが。
現実問題として、現在業務で「HTMLとロジックを混在させる」ことは稀ですし(通例、テンプレートエンジンなどを用いて分離させます)、そういった意味合いも込めて、JSPについては、私の周囲では比較的に減少傾向にあるように感じられます。
で、上述の話を抜きにすると、基本的には結局「Javaの文法」ですので、そのあたりは概ね似たり寄ったりです。
あと、JavaScriptについて言及があるようですが、別に「必須」ではありません(というか業務でアレが必須というのは、基本的には想定しにくいです。昨今はやりのAjaxを考慮して、なお)。JavaScriptは基本的に「なくてもOKなんだけどもし動いたら操作性がよくなる」にとどめておかないと、色々と厄介ごとを生みますので。
以上、個人的雑感で恐縮ですが、現場からの1見解でした。
がるさんが私の質問に答えてくれた(喜)。
JSPではなくてサーブレットのほうがよく使うというのは以外でした。サーブレットから学んでいきます。
>現実問題として、現在業務で「HTMLとロジックを混在させる」ことは稀ですし(通例、テンプレートエンジンなどを用いて分離させます)
まさに専門的ですね。こういう仕事したいなーと思います。
>「Javaの文法」ですので、そのあたりは概ね似たり寄ったり
javaの文法を意識してやろうと思います。すごくわかりやすかったです。
No.5
- 回答日時:
あるといえばありますが、Servletはさわりだけでいいと思います。
#JSPは実行時にServletに変換され、コンパイルされ、実行されるので結局同じ事ですけど。
昨今はStrutsを代表とするフレームワークの利用が必須で、サーバー上のロジックはServletの上にビジネスロジックを被せた状態で動きます。
PGが作るのはこのビジネスロジックだけになる(深い部分は共通チームが片付けます)ので、Servletに依存した処理はめったに書きません。
大してJSPは、テンプレートエンジンが多く出回っていてもまだ使われています。仕事によってJSFが絡んだりAJAXが絡んだりしますが。
しかし、こちらはHTMLが基本です。JSP独自の部分よりむしろ、きちんとしたHTMLとCSS、JavaScriptを必要に応じて使いこなせることが重要です。
なので、業務での重要度は
ビジネスロジック>フレームワークやORMツール>HTML,CSS,JavaScript>JSP>Servlet
位だと思います。まあ、どれも「知らない」では済まされませんが。
フレームワークを使っていても、基本はServletですし、JSPだって結局使います。全部知っていて、適材適所で使い分けるのです。
"Strutsを代表とするフレームワークの利用が必須"なのですね。
jsp/sevletの後でやろうと思っていたので、近いうちに重点的にやろうと思います。
”JSPはまだ使われています””こちらはHTMLが基本です。”JSPのことも念頭においておきます。
仕事によって使われてる技術が違うんだなと感じました。
早く”ビジネスロジック”、”テンプレートエンジン”などの意味が判るようになりたいと思いました。
No.4
- 回答日時:
学生で実務経験はないことを先に申し上げておきます。
結論から言えば、どちらも出来たほうが良いともいます。
JSPで出来ることはサーブレットで実現できますし、その逆も可能(らしい)です。
(分かっていたらここは読み飛ばしてください)
しかし、手間の側面から考えると
out.println("Hallo World");
と綴り誤り等を発見した(おまけに処理と直接関係ない)場合、
out.println("Hello World");
と書き直した際も手動コンパイルが必要になります。
しかしJSPであれば修正して、そのページを呼び出せば自動でコンパイルがかかります(初回は時間がかかる)。
ので私は勉強したほうが良いと思います。
がるさんの言うように減少傾向かもしれませんが、再興もありえないとも限らないですし。
以降はお礼から
>”JavaScriptも必須”なのには驚きました。
必須ではないと思います。
ブラウザの設定ひとつで無効に出来てしまうので、信頼できず、「JavaScriptを有効にしてください」などと出ると私はムッときます。(ユーザ視点の一例と考えてください)
>javaは万能じゃないってことが感じられました。
人間が作ったものだから仕方ないと思います。
>”両者の切り分けがよく飲み込めていない”です。
「表示に関する部分はJSP、処理はservlet」と参考書には書かれています。深く考えなくても感覚で良いと思います(仕事でないなら)
”JavaScriptは必須ではない”との意見も多いですね。
私もHPづくりで使ってみて使いにくいなと思っていました。
仕事によっては”必須”というくらいにとどめておきます。
またサイトを作る際さいの選択肢の一つであると。
”JSPは再興もありえないとも限らない”ので両方ともやろうと思います。
私はコンパイルが結構好きなのでサーブレット派かな。
No.2
- 回答日時:
>JSPとサーブレットは両方勉強する必要があるのですか
実際、多少勉強されたならわかっていることと思いますが、JSPとサーブレットというのは、実は「同じもの」です。ですので、分けて片方だけ勉強するというのは、逆に難しいかと。
もし、そのあたりがまだよくわかっていないということでしたら、もう少し勉強されるとよいと思いますよ。そうすると「どっちを勉強すべきか」という発想自体が間違いだったことがわかってくると思います。
>また「人事管理システム」のようなのものを作りたいと思っています。
>名前や住所を登録して、検索したり、印刷したりできるというものです。
>jsp&sevletどちらも使うのでしょうか。
インターフェイスはJSP、ロジックはサーブレットでしょう。このあたりも、まだ両者の切り分けがよく飲み込めていないのだろうと思います。
Javaでサーバサイドをやろうというのでしたら、正直に言いまして「JSPとサーブレットのどっちか」というところで悩んでいる時点でちょっと心もとないです。それは、いわば「数学を勉強するのに、足し算と引き算のどっちを勉強すべきか」みたいなものですから。どっちも使えて当たり前、それがわかってようやくスタートライン、と考えたほうが良いでしょう。
そうです。”同じもの”だからこそどっちもやる必要あるの?と思っていたのです。
”両者の切り分けがよく飲み込めていない”です。
”どっちも使えて当たり前”ですね。
大変勉強不足でした。
javaの文法からjsp/servletからもっと勉強します。
No.1
- 回答日時:
JSPとサーブレットだけではなくて、それなりに使えるサイトを作りたい場合は、JavaScriptも必須だと思います。
これは、Web構築で使われているJSPやServletの技術が良く言えば「発展途上の技術」悪くいえば、「場当たり的な(できそこない)技術の集大成」なので、「これ1つでOK!」って言えない状況なんです。
以前、「JSP&Serevlet&JavaScript」という構成で大手企業のシステムの開発を数十人のチームでやったことがありますが、「あんなに作りにくいものを苦労して仕上げたけど、出来上がりはいまいち、2度とやりたくない!」って印象を持ちました。
で、本来の質問に戻りますが、Servletのみでシステムを作ることは可能です。が、それはJavaでプログラムを書いて、コンパイルしないといけない。バグや変更があると、これらを繰り返すことになります。とーーーてもめんどくさい!でもJSPはHTMLの中に命令を「混ぜご飯」するだけでいい。コンパイルも不要(まあ、実際はコンパイルされているらしいが、人間がコマンドを打つ必要はない)で楽です。
でも、当然ながら、JSPだけでは、出来ないこともイロイロあってServletが必要になるし、エラーチェックや操作性の向上にはJavaScriptも必要になってしまうんです。
JSPやServletという単語を見ると、ちょっと感情的になってしまいます。すいません。
”JavaScriptも必須”なのには驚きました。
”「Web構築で使われているJSPやServletの技術が良く言えば発展途上の技術」悪くいえば、「場当たり的な(できそこない)技術の集大成」”なのですね。
JSPやServlet両方ともやることにします。
javaは万能じゃないってことが感じられました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- 薬剤師・登録販売者・MR 将来ドラッグストアに就職したい為、今のうちから登録販売者の勉強をしておきたい 1 2023/05/27 17:19
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- Java JavaでWebページ作成 7 2023/07/21 21:09
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- 大学受験 高3受験生です。 平日の勉強時間についてです。 地帝志望なのですが、スタディープラスという勉強時間記 4 2022/04/13 22:48
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- 大学院 社会人大学院へ行かれた方教えてください 3 2023/07/15 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MSFormsとは何ですか?
-
cまたはc++は半年である程度...
-
cin.peek() cin.ignore(100,'\\n')
-
データベースのデータをTextBox...
-
2ショットチャットができるHP...
-
TypeScriptとNode.js
-
Struts、Struts2について
-
XMLとUMLの相違点?
-
Java Struts メッセージリソー...
-
エクセルVBAを動かすノートPC...
-
数字の単位 何故10m>0.003なの...
-
vba クリップボードクリアにつ...
-
使用しているJUnitのバージョン...
-
JSPファイルで生じるエラーをど...
-
IISワーカープロセスが原因でCP...
-
【javaコンパイル時のエラーに...
-
Eclipseソース開発画面の行番号...
-
unzip32.dllの利用について(64b...
-
MSCOMCTL.OCXのアップデートの方法
-
JavaScriptとC言語の違いについ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MSFormsとは何ですか?
-
VBAの「for i=1 to cells(…」...
-
超恥愚問ですが、CとC++の間に...
-
エクセルVBAを動かすノートPC...
-
データベースのデータをTextBox...
-
cin.peek() cin.ignore(100,'\\n')
-
XMLとUMLの相違点?
-
C++ですごろくゲーム作成
-
VBAなくなるの?
-
VC#とVC#.NETの違い
-
為替レートの取得方法
-
Java Struts メッセージリソー...
-
JSPとサーブレットは両方勉強す...
-
Java初心者です
-
cまたはc++は半年である程度...
-
javaで作れるもの
-
占いサイトを作りたいのですが...
-
pythonでの掲示板作成
-
.htaccessについて勉強できる情報
-
Javaで何ができるのか
おすすめ情報