【有料級】初心者向けにサーブレット/JSP/Bean/MVCモデルを全解説【サーバサイドJava入門講座 総集編】
Вставка
- Опубліковано 20 лип 2024
- 【JavaWeb入門講座】 の動画(全14回)を1本にまとめました🎉
webアプリとは何かからHTML、サーブレット、JSP、Bean、そしてMVCモデルまで、web開発に必要な知識が網羅的に身につきます!
⭐無料&楽しく勉強できる場所を作りたい!そんな想いで授業動画を作ってます😁
→チャンネル登録/高評価/周りにオススメ で応援してもらえると嬉しいです✨✨
🌸チャンネル登録はこちら!
ua-cam.com/users/SekaChan?su...
📙授業ノートはこちら!
bit.ly/3PyroE6
📄プログラムはこちら!
bit.ly/3LYdCXB
👀関連動画はこちら!
▼Javaの始め方(基本1章 総集編)
• 【Java入門講座 総集編】40分でJava...
▼Javaの基本文法(基本2章 総集編)
• 【Java入門講座 総集編】超初心者歓迎!J...
▼オブジェクト指向-入門編-(基本3章 総集編)
• 【2時間で完全マスター】オブジェクト指向の考...
▼オブジェクト指向-応用編-(基本4章 総集編)
• 【完全マスター】継承やポリモーフィズムの考え...
▼例外処理(基本5章 総集編)
• 【この1本でOK】例外の種類から例外処理のプ...
▼クラスライブラリ(基本6章 総集編)
• 【この1本でOK】クラスライブラリやAPIド...
▼Eclipseでwebアプリ開発
• Eclipse(エクリプス)でwebアプリを...
▼Spring Bootで占いwebアプリを作ってみよう
• Spring Bootで占いwebアプリを作...
💡チャプター
00:00 オープニング
00:51 Webアプリケーションとは( • Webアプリが動く仕組みや開発できる言語の違... )
08:52 HTML入門( • HTMLの基本とタグの書き方を初心者向けに解... )
22:48 フォーム画面の作り方( • HTMLフォームの作り方とGET・POST送... )
35:42 Tomcat( • 無料webサーバTomcat(トムキャット)... )
51:01 サーブレットの基本( • 初心者向け!サーブレットを作る4つのポイント... )
1:04:28 サーブレット フォーム連携( • サーブレットでフォームの入力データを使う方法... )
1:17:49 サーブレット セッション管理( • セッションを使って買い物かごを作ろう【Jav... )
1:37:23 JSPの基本( • JSPとサーブレットの特徴を根本から理解する... )
1:47:58 JSPで使えるタグ( • JSPの基本的なタグをひと通り理解しよう【J... )
1:58:00 JSP フォーム連携( • フォームデータを受け取るJSPの作り方【Ja... )
2:07:21 サーブレット・JSP連携( • サーブレットからJSPを呼び出して遷移する方... )
2:21:00 JavaBeans( • JavaBeansのルールとBeanやプロパ... )
2:30:11 JSP アクションタグ( • カウンターを動かしてスコープの違いを理解しよ... )
2:44:06 MVCモデル( • MVCモデルとは何か、使うメリットを初心者向... )
🙋♂️プロフィール
【せかチャン 菅原】
・東京工業大学大学院 情報理工学研究科 卒業
・大学生、大学院生のときに5年半塾講師
・IT研修講師として情報技術、プログラミングのセミナーを企画・実施
・Oracle社より「Instructor of the Year(満足度日本一)」「Java講師賞」を4年連続受賞
「分かった!」と言ってもらえる瞬間、勉強を楽しいと感じてもらえる瞬間が好きです。
フリーラーニング(無料で学べる場)を広げたいと思ってUA-camをはじめました。
一緒に楽しく勉強&成長していきましょう!
📳Twitter
/ sekachanit
🎵音源提供
DOVA-SYNDROME
dova-s.jp/
※動画によっては使用していない場合があります
#Java #プログラミング #せかチャンのJava入門講座 #プログラマー #せかチャン
菅原さんは絶対に間違いなく、No. 1講師です!しかも優しい〜泣。難しい事を分かりやすく教えてもらってしかも癒されています。毎動画の最後に「ありがとうございました」とおっしゃってますが、その度「いえ、それはこちらのセリフです。ありがとうございました」と答えてます😊
プログラマーおかあさーんさん、コメントありがとうございました!
そう感じてもらえてとっても嬉しいです✨
僕が動画を作り続けていられるのは、動画を見てくれる人がいるおかげです。
しかもせかチャンの視聴者さんって何かに向かって頑張っている人たちばかりで、僕もすごくエネルギーをもらっているんですよね。
そんな感謝の気持ちも込めて、毎回「ありがとう」と伝えさせてもらっています!
4月から社会人になり、先週からちょうど研修でこのあたりを学んでいるのですが全然ついていけなかったので悩んでました…本当にわかりやすくて休日の勉強に役立てることができました🙏また何度でも戻ってきます!本当にありがとうございます☺️
新人研修でJavaをやってるんですね😄
今までいろんな会社でJavaの新人研修を担当してきましたが、IT系が得意な人でもサーブレット/JSPあたりから分からなくなるケースが多かったです。
この先、DB編やEclipse、SpringBootあたりの解説動画も作ってあるので、また分からなくなったときに戻ってきてください!
ありがとうございます。Javaについてここまで詳しく解説してくれる動画がyoutubeに無かったので非常に助かっています。今後も動画期待しています。
ここさん、コメントありがとうございました!
たしかに、サーブレットやJSPなどwebアプリの解説動画ってまだ少ないですよね💦
今後も役に立つ&分かりやすい解説動画を作っていきます!
知りたかったことを理解しやすい順番に教えてくださる……😭✨
授業や本でつまづいていた部分や、理解が薄くて飛ばし読みしていた部分の知識が補填されました。字もとても綺麗で感動しました!ありがとうございます!!
キリンさん、コメントありがとうございました!
webアプリって慣れるまで難しいですよね。この動画が理解に役立ったみたいで良かったです!
字もゆっくり丁寧に書いた甲斐がありました😄
独学でWebサービスを個人で立ち上げるレベルまで行けましたが、やはり人に教えてもらえる機会があるというのは幸せな事だと感じます。Javaに対する理解を深める意味においてもコンテンツを有り難く視聴させて頂いています。
hideto takahashiさん、コメントありがとうございました!
独学でwebサービスを立ち上げるところまでいったってスゴイですね✨
プログラミング以外のスキルもあるからこそできることだと思います!
僕自身も動画の編集方法はUA-camで学んだので、教えてもらう機会があるのはホント幸せだなって思います。
素晴らしい。ここまで判りやすい解説は、他にありませんね…。
tubesatoshiさん、コメントありがとうございました!
そう感じてもらえて良かったです😄
菅原さん、まさに神がかった解説です。ありがとうございました。
Harumi Mさん、コメントありがとうございました!
こちらこそ、動画を見てもらえて感謝です✨
これからもそう感じてもらえる動画をバンバン作っていきます!
こう言う動画素晴らしいです。応援してます🎉
Atsushi Miyamotoさん、コメントありがとうございました!
素晴らしいと感じてもらえて嬉しいです!
みなさんの応援のおかげで、楽しく動画を作らせてもらっています。ありがとうございます😄
本当に分かりやすいです😊自分で調べてみてちんぷんかんぷんだった所がスムーズに理解出来ました。文字がキレイで、話し方も丁寧でありがたいです。菅原さんの人柄の良さで、勉強頑張ろうって思えます。サーブレットを学んだら、次はJava Goldに挑戦しようと思います!いつも本当にありがとうございます。
Motoさん、コメントありがとうございました!
そんなにたくさん褒めちぎってもらえて、とっても嬉しいです😄
僕もこういうコメントをもらえるおかげで、動画制作を頑張ろうって思えています。こちらこそありがとうございます!
サーブレット/JSPを知ってるだけでも十分スキルアップできてますが、さらにJavaGoldを目指すなんて素晴らしいですね。
今進行中の応用講座もJavaGoldの範囲内なので、ぜひ一緒に頑張っていきましょう!
初心者ですがとても分かりやすいです。ほんとに有料級です!
図が手書きと思えないくらい綺麗で頭にスッと入ります。
はなもぐらさん、コメントありがとうございました!
分かりやすいって感じてもらえて良かったです!
板書の図はかなり気合いを入れて書いているので、理解に役立ってとても嬉しいですね😄
まじでわかりやすくて感動する
わわさん、コメントありがとうございました!
そんなふうに感じてもらえると、動画を作って良かったなって思いますね。
これからも動画制作がんばります💪
7年前にスクールに通って同じことを勉強してエンジニアにチャレンジしたのですが、挫折して転職しちゃいました。
ですが、やっぱりエンジニアになりたいと思い勉強を初めてこのチャンネルに出会えたことですごくモチベーションが上がりました!
このコードをもとに自分で何かシステムを作ってみようと思います!
ルークさん、コメントありがとうございました!
7年経っても想いが変わらないってスゴイですね。
何かにチャレンジするといろいろと壁にぶつかったりもしますが、「~になりたい!」っていう想いがあればきっと乗り越えられるんじゃないかなと思います。
(↑自分自身にもこう言い聞かせてます😄)
お互いに、やりたいことに向かってがんばっていきましょう!
え、教本買ったけど、それよりより体系的に網羅的にまとめられてて神なんですけど
ぼた雪さん、コメントありがとうございました!
この動画1つ見てもらえたら、webアプリ開発の基礎知識をひと通り理解できると思います👍
教本とこの動画をうまく使って、ぜひスキルアップしてください!
とても丁寧で、わかりやすいです!
ありがとうございます!
気持ちを込めて作った動画なので、そう感じてもらえて良かったです。
React案件離任から久々にJava案件に配属されるので復習がてら観に来たが、相変わらずめちゃくちゃ分かりやすくて助かります
お久しぶりですね。Java案件で多いWebアプリやDB処理についてはひと通り動画を作ってあるので、また必要なときに見にきてください!
度々お世話になっております。
スクショタイム凄く有り難いです!!!
河本れなさん、コメントありがとうございました!
スクショタイム、役に立ってたんですね✨
何となく始めてみたものでしたが、そう感じてもらえていて安心しました!
有料級とか謡ってるもので本当に有料級のものと分かりやすさを兼ね備えているものは初めて見ました
すっごいわかりやすいです!
石井隆登さん、コメントありがとうございました!
そう感じてもらえて良かったです😄
この動画は僕が20万円くらいで実施していた企業研修の内容と(個人演習があるのを除いて)ほぼ変わらないので、本当に有料級だと思ってます。
@@SekaChan 偽りなく有料級ですね!ありがとうございます!
最近チャンネル登録させていただきました。
文系未経験からのスタートで分からないことも多い中なので、菅原さんの動画が本当に助かっています。
いつもありがとうございます。
文系未経験からサーブレット/JSPまで勉強してるなんてスゴイですね!
どんな理由でJavaを勉強し始めたのかは分かりませんが、この時期は新入社員さんからのコメントが多くなるので、去年の今頃にこんなトーク動画をアップしました。
●【コメント紹介】Javaを学び始めた人たちへ
ua-cam.com/video/xgL0ywlmFFk/v-deo.html
もし同じように新人さんだったら、勉強の合間に見てみてください😄
そろそろ資格を取らなきゃと泣く泣く調べ始めたのですが、わかりやすくおもしろい動画に出会ってむしろ勉強が楽しくなりました✨🥲
有料版かと思ったので無料でこんなにボリューミーな内容見れるなんてありがたいです、、これからも楽しみにしております!
勉強が楽しくなったっていうのはすごく嬉しいです!
この内容は、実際のスクールや社会人向けの研修でもハイレベルで高価格帯の位置づけですね😄
タイトル通り【有料級】なので、ぜひ資格対策やスキルアップに役立ててください!
初見でした。最高にわかりやすかったです。springから学習を始めてサーブレットは飛ばしていたのですが、学びにきてよかったです。理解が繋がった様に感じます。チャンネル登録すぐにさせていただきます!ありがとうございます!
コメント&チャンネル登録ありがとうございます!
SpringとかSpringBootは中身を知らなくても簡単にコーディングできて超便利なんですが、そこから始めちゃって理解が浅いままの人も多いと思います💦
この動画で理解がつながったみたいで良かったです!
tomcatの起動とservletの表示を試しに自分で行ったのですが、色々とエラーが起き、本日やっとこさ成功しました。備忘録も兼ねて、JAVA_HOMEやJRE_HOMEの設定も必要であること、そしてJDKとJREのバージョンが合致していないと実行できないことをここのコメント欄に記しておきます(笑)
菅原さんの動画はいつも勉強になります。今回のように試しにやってみて無理だと、なぜ無理なのか自分で調べて、それも込みで勉強ですね。
普段はSpringを使っているのですが、そもそもServletをはじめとした基礎知識がなさすぎて、こちら活用中です!
java初心者さん、コメントありがとうございました!
Servletの表示までうまくいって、本当に良かったです✨
たしかに、JDKやJREの環境は正しく動く前提で話を進めているので、この動画だけを見てくれた人にとってはエラーが起きてしまう可能性もありますね。
この備忘録は他の方にも役立つ内容だと思います。改めて、ありがとうございました!!
Servletの基礎知識が身についたら、きっとSpring開発にも役立つと思います。
SpringBootの入門動画も作ってあるので、もしよければ参考にどうぞ😄
●Spring Bootで占いwebアプリを作ってみよう!
ua-cam.com/video/8UERVg5c_HM/v-deo.html
異常にわかりやすい。すきです
うちゃさん、コメントありがとうございました!
わかりやすいって感じてもらえて良かったです
@@SekaChan見終わりましたー後々復習でもう一周してdbの方も見ます!
最高すぎて涙が出ます
・^ㅁ^・さん、コメントありがとうございました!
最高と思ってもらえて良かったです。
もっと良い動画を作れるように、これからもがんばります✨
これ誰かに強要されてるわけじゃなくて、自分一人でカメラセッティングして、ホワイトボード書いてやってるんだよな。
すごいわ。
jojoさん、コメントありがとうございました!
カメラのセッティングやホワイトボードを書いたりなど、全部一人でやってますね。
こういうのが好きなんだなって思います😄
なんか草
今の研修先の講師がとにかく説明が早くてめちゃくちゃ凄んできて怖いので、この動画があって助かりました。
可能であれば、SQL Serverと連携して、データの取り出しや書き込みの仕方を解説してもらえると嬉しいです…
Nicole Clarksonさん、コメントありがとうございました!
研修講師がめちゃくちゃ凄んできて怖いって、結構プレッシャーですね💦
DB連携は他の人達からもリクエストをもらってるので、いつかシリーズ化できたらいいなと考えています!
気長に待っていてもらえると嬉しいです。
非常に分かりやすい解説ありがとうございました!
会社でOJTを任されるので、復習のような形で動画視聴したのですが、
自分自身理解不足だったり、忘れていた知識を補うことができました。
チャンネル登録いたしました。
今後も視聴させていただきます!
コメント&チャンネル登録ありがとうございます!
自分の中で理解不足なところがあると人に教えることはできないので、OJTってなかなか大変ですよね💦
ただ、相手が分かってくれたらすごく面白いし、やりがいも感じられると思います。
ぜひ動画も活用してもらって、楽しくOJTしていってください!
まじで世界一分かりやすいです
koko kokoさん、コメントありがとうございました!
これからもいろんな分野で分かりやすい&楽しい動画を作っていきます!
参考書よりも分かりやすくて草
買う前にこの動画見ておくべきだったな…
Xx- -xXさん、コメントありがとうございました!
そう感じてもらえて良かったです。
参考書は体系的に勉強しやすかったり、分からないことを調べるのに便利だったり、動画にない良いところもあるので無駄にはならないと思いますよ😄
40代でJavaプロジェクトのマネージメントを行っている者です。
私自身がコーディングに携わる事はあまり無いのですが、それでもソースコードを見たりする事もありますし、設計の指針を立てたりする事はあります。やはり、マネージメントを行う上でも、技術の事をある程度理解している必要があると感じます。
今から何か技術書を購入して腰を据えて勉強するのも少ししんどい(私自身がコーディングを行っている訳ではないので尚更)ですし、何か一通りの技術をザックリと学ぶ事が出来る良いコンテンツが何か無いかと探していたところ、こちらの動画に出会いました。
こちらの動画は本当に理解し易く、私でも無理なく学ぶ事が出来そうです。ありがとうございます。
やはりマネージメントを行う上でも、技術の事が全く分からない状態ですと、キツいものがあります。
これから貴殿のコンテンツを大いに活用させていただき、業務の生産性を上げていきたいと思います。
高山ヒロシさん、コメントありがとうございました!
実際にコーディングをしているエンジニアは、少し話せば相手がどれくらいのコーディングスキルを持っているかが大体分かるものです。
自分のプロジェクトマネージャーがコーディングの知識を持っていると分かったら、すごく心強いですよね😄
また、自分の仕事内容を知ってもらえている人に指揮してもらえるのは、仕事への士気にもつながってくるだろうと思います。
この動画をパーッと流し見してもらうだけでも知識が十分身につくと思うので、ぜひお仕事に活かしてもらえたら嬉しいです!
いつもありがとうございます😊
MVCの演習として自販機や図書館の管理システムなどを行って頂けると助かります🙇♂️
ご検討よろしくお願いします🙏
動画を何度も何度も視聴して苦手意識を持っていたWebアプリケーションの理解ができるようになりました!!ありがとうございます!!
板書をノートに書き、各セクションごと何度も何度も聞いて、動画再生時間の何倍もの時間をかけながら読み進めることで、非常に理解が深まりました。
これまでは教科書などの大量のプログラム量に圧倒されてどこがポイントか理解が追い付いていなかったのですが、せかチャンさんの動画で、体系立ててポイントも理解でき、知識を積み重ねながら学習できていることを実感しました(^^) 本当に感謝です!!
1点質問させてください。2:55:00あたりで、最後の演習問題の中で「JSPのuseBeanでscopeがrequestなことに気を付けましょう」と話されているのですが、「scopeはJSPの中で決定される」のでしょうか? (1つ前のセクションでscopeの変更でカウンターを作れるというところまでは、理解していたつもりでした、改めて言われて疑問に感じ質問させていただきました)
それまでの説明の中で、JSPやサーブレットのファイルをまたいでデータをやり取りできるようにリクエストオブジェクトを用意してやり取りしているという話をされていたと思います。とするとリクエストオブジェクトのscopeはセッションだと暗黙的に決まっているのでしょうか? プログラムの中でリクエストオブジェクトのscopeについて特に明記してはいないと思ったので、そのような理解であっていますでしょうか?
同様にデータを受け渡す、RegisterBeanやRequestDispatcherのインスタンスもscopeは暗黙的にセッションとなっているという理解で合っていますでしょうか?
そのようにスコープを広く定義されていたものを、JSPの中で「scope="request"」と狭めているのでしょうか?
最後の最後で理解が追い付いていないことが露呈し、恥ずかしい限りなのですが、質問させていただきました。どうかよろしくお願いします🙇♂
さとまるさん、コメントありがとうございました!
気持ちを込めて作った動画なので、繰り返し見てもらったり板書を書き写したりと、じっくり活用してもらえていて嬉しいです。
ぜひ今後に活用してください!
「useBeanタグのスコープがrequestであることに気をつけよう」と話したのは、「スコープには他にもpageやsession、applicationも指定できるけど、今回は(サーブレットに合わせて)requestにする必要があるよ」という意味合いですね。
つまり、サーブレット内で格納したスコープと、JSP側で取り出すときのスコープは同じにする必要があります。
> リクエストオブジェクトのscopeはセッションだと暗黙的に決まっているのでしょうか?
いいえ、そうではないですね。
リクエストオブジェクトに格納(req.setAttribute(~))した情報は、requestスコープとして扱われます。
RegisterBeanのインスタンスはリクエストオブジェクトに格納しているのでリクエストスコープとなり、RequestDispatcherのインスタンスはどのスコープにも格納していないですね。
ありがとうございます!
【ハムスター】うに Channelさん、THANKSコメントありがとうございました!
送ってもらった金額は書籍の購入や動画の改善など、将来の視聴者さんのために使わせてもらいますね✨
これからもよろしくお願いします!
わかりやす。
不滅のキュレルさん、コメントありがとうございました!
わかりやすいって感じてもらえたようで良かったです✨
いつも大変勉強になります!
ありがとうございます。
getter setterについて説明されている動画はございますでしょうか?
コメントありがとうございます!
せかチャンの動画で勉強してもらえているようで嬉しいです!
getter/setterはこの動画の 2:23:44 あたりから説明してますね。
@@SekaChan
ご回答ありがとうございます!
大変助かります。
setter getterについても動画を参考に勉強させて頂きます。
これからも応援しています。
よろしくお願い致します。
41:19 いつも動画見て勉強させてもらってます!!ほんとにわかりやすくて大好きです!!!
ここのTomcat入れた後の環境変数設定なんですが、私のパソコンがマックなので設定の仕方がわからなくて躓いています。。。😢
ググったりして見ましたが分からなくて😢😢
マックでの設定の仕方ってわかりますか、、、?🫠🫠
せいくんさん、コメントありがとうございました!
いつも動画を見てもらえてるみたいで嬉しいです!
マックの環境変数の設定は少しややこしいですが、「mac 環境変数 設定」で検索してみたらいくつか出てきましたよ😄
もし上記で調べても分からなかったら、Eclipseなどの開発環境をインストールしちゃうのも1つの方法だと思います。
Eclipseについては、こちらの再生リストを参考にしてみてください!
ua-cam.com/play/PLru8-xuz0Yvx9ICFXBzh-tYbWY-WVaWNJ.html
こんにちは。
菅原さんの動画いつも勉強になってます!
質問です、未だにリクエストとレスポンスの使うタイミングが分かっていないのですが、Servletクラスの時にリクエストオブジェクト、jspクラスの時にレスポンスオブジェクトを使用するイメージなのでしょうか?
動画の図を見て感じました^^;
葉山龍之介さん、コメントありがとうございました!
webアプリはサーブレット単体、またはJSP単体で作ることもできます。
なので、「サーブレット→リクエストオブジェクト」「JSP→レスポンスオブジェクト」とはならない場合もありますね😄
この動画最初の「Webアプリとは」で、リクエストとレスポンスについて解説しました。
このリクエストに関する処理はリクエストオブジェクトから呼び出すことができ、レスポンスに関する処理はレスポンスオブジェクトから呼び出せると考えると分かりやすいかなと思います。
神様や。
ネウロさん、コメントありがとうございました!
サーバサイドJavaを1本で学べる動画はなかなかないので、ぜひ活用してください👍
動画とてもわかりやすいです!
まだフォーム作成の途中まで拝見したのですが、タグの終わりの">" と "/>" の違いはなんでしょうか?
ぱぴこさん、コメントありがとうございました!
この動画の 11:33 あたりから説明しているので、復習してみてください😄
動画投稿ありがとうございます!
この動画とは関係ないのですが、自分の書いたコードのどこが間違っているのかが指摘されるまで発見出来ずに困っています。
質問が曖昧で申し訳ないのですが、自分の書いたコードのどこまでは合っていて、どこが間違っているかを把握するコツとかってありますか?
それと動画のリクエストなんですけど、もしデバッガーの使い方(バグの直し方)の丁寧な解説動画があったら見てみたいです!
(今はeclipceでJavaの勉強をしています。)
ransm joinさん、コメントありがとうございました。
コードの間違いを素早く見つけられるかはコツやテクニックでどうにかなるものではなく、スキルによるものだと僕は感じています🍀
このスキルはどうすれば身につくかというと、
①コーディングで間違える→②間違いを見つける→③なぜ間違えたかを考える(納得いくまで調べたり人に聞いたりする)→④間違いを直す
これを繰り返すことで、自分の中に間違えやすいパターンとその理由が知識として積みあがっていくイメージです。
特に③が重要ですが、eclipseなどのツールを使っていると自動で②→④をしてくれちゃうのでバグ取りのスキルが身につきにくいんですよね。
僕のJava入門講座ではあえてeclipseを使わないで解説をしているので、自力で演習問題を解いてもらうと力がつくと思いますよ✨
eclipseのデバッガーツールはこちらの動画で簡単に紹介しているので、よければどうぞ。
●Eclipseのオススメ設定&便利機能15選
ua-cam.com/video/OvA7-YXz2Pw/v-deo.html
非常に綺麗で詳しく、でも分かりやすくまとまっており、まさに超有料級コンテンツの作成、ありがとうございます。そして、大変お疲れ様でございます。
一つ質問なのですが、動画内でTomcatをWebサーバと表現しているのは、実際にWebサーバとして利用しているからでしょうか? 私の理解では、TomcatはAPサーバであるという認識です。Webサーバとやり取りするためのサーバであり、Webサーバ本体ではない(WebサーバはApache)だと思っているのですが、私の理解に誤りがありますでしょうか?
確かに、簡易的なWebサーバの役割もこなしてくれるのがTomcatですが、それはあくまでサブ機能というような位置付けで、Tomcatの説明としてはAPサーバとするのが正しいのではないかと思いました。
お忙しい中、大変申し訳ございませんが、お手隙の際にご回答頂けると幸いです。
よろしくお願いいたします。
Summer Harvestさん、コメントありがとうございました。
書いてくれた通り、Tomcatをwebサーバと表現しているのは、この講座内ではTomcatをwebサーバとして利用しているためです(APサーバとしても利用しています)。
ただ実際のところ、Tomcatのwebサーバとしての機能は簡易的なものにすぎず、本来はApatchをwebサーバとして、TomcatはAPサーバとして使い分けをするというのもその通りだと思います。
Javaは勉強したことがあったのですが、実際にwebアプリの開発をしたことがなかったので、この動画がすごく勉強になっています!作っていただきありがとうございます!
個人的にお聞きしたいことがあって、webアプリの開発方法として、フレームワークのSpring Bootを使う際はJSPは使えないのでしょうか?調べると非推奨と言われていました。他にも開発方法はたくさんあると思いますが、フレームワークを使わないでサーブレットとJSPとJavaBeansのMVCモデルで開発するパターンとSpring Bootを利用して、サーブレットとJavaBeansとHTMLで開発するパターンもあるという,認識であっていますか?
TTHKさん、コメントありがとうございました!
この動画が役に立っているみたいで良かったです😄
動画範囲外の内容なので詳しくは書きませんが、SpringBootでもJSPを使うことは可能ですよ。
また、webアプリ開発ができるフレームワークはSpringBoot以外にも多くあって、それぞれ特徴があります。
(その中でもSpringやSpringBootはシェア上位です)
なので、サーブレット・JSP・JavaBeans技術を土台としたいろんなフレームワークが、開発現場によって使い分けられているイメージですね。
@@SekaChan 返信ありがとうございます!勉強になります!
とても参考になる動画ありがとうございます。
MVCモデルに取り組んでいるのですが、
Registerservlet4.javaをコンパイルするとき
①import bean.RegisterBean;
パッケージbeanは存在しません
②RegisterBean rb = new RegisterBean(); のところで
シンボルを見つけられません
とでます。
classesフォルダ内にbeanフォルダを作成し、その中にRegisterBeanのクラスファイルを入れています。
package bean;もRegisterBeanでしています。Counter.Beanがうまくいっているのですが原因がわかりません。
cream iceさん、コメントありがとうございました!
ちょっと状況が分からない部分はありますが、構成は間違えていない気がしますね。
コンパイル時に他のjavaファイルを参照する場合もあるので(クラスファイルだけではなく)javaファイルの配置も変えてみたり、*.java ではなく個々のjavaファイルを(呼び出される側から)1つずつコンパイルしてみたりなどしてみるとうまくいくケースもありますよ😄
神様や。ちょうどわからなくて困っていたとこ!
FM AKさん、コメントありがとうございます!
ちょうど困っていたタイミングに動画をリリースできて良かったです✨
1:27:43のhtmlの画面なのですが、
DOCTYPE宣言などは無しでも作れるものなのでしょうか??またmetaでutf-8を多分敢えて書いておられないと思うのですが、何故でしょうか?😮
SessionServletをコンパイルしようとしたところ、SessionServletの操作は未チェック〜という注意が出ました、、
自分の作ったコードに問題あるのかと思い先生のコードをダウンロードしたのですが改善されません😢
さんかめはめさん、コメントありがとうございました。
厳密にはDOCTYPE宣言やmetaタグは記述した方が良いのですが、(自動で認識してくれるwebブラウザが多いこともあり)このサンプルでは割愛をさせてもらいました。
また、SessionServletについては、コレクション関連でキャストをするとコンパイル時に警告が出てしまうことがあります。
(「型変換による実行時エラーが起きやすいところですが問題ないですか?」という意味合いです😄)
警告が出ても、おそらくクラスファイルは生成されていると思います。そちらを使ってプログラムを実行してください。
@@SekaChan ありがとうございます!
そうだったんですね!
すごい勉強になりました!
また、型変換の時の注意がこのように出ると初めて見れたのもよかったです!
度々質問申し訳ないです!
この動画を拝見して思ったのですが、HTMLの勉強を優先的にやっていった方が宜しいでしょうか??
さんかめはめさん、コメントありがとうございました。
何を優先して勉強するべきかは、さんかめはめさんがどこを目指しているかによるのかなと思います。
広く深い知識・スキルを身につけた方が良いのは確かですが、使える時間にも限りがありますからね😄
@@SekaChan なるほど!
ありがとうございます!
確かに時間は限られてますので、自分のやりたい事は何なのかを明確にしていければと思います!
いつも、わかりやすい動画をありがとうございます!
質問なのですが、私はtomcatをインストールしたのですが、うまく起動せず、再度新しくインストールすることもできず、アンインストールもできず、立ち往生してしまっています。
どうしたらよいでしょうか??
生菌さん、コメントありがとうございました!
(回答が遅れちゃってごめんなさい🙏)
tomcatをインストール・起動できない原因を特定して対処するのが理想ですが、なかなか難しいケースもあると思います。
そんなときは、(tomcatが同梱されている)Eclipseをインストールする方法もあります。
よければ、下記の動画も参考にしてみてください。
●【2021版】Eclipse(エクリプス)のインストールと使い方
ua-cam.com/video/Ec9RE_2MYp0/v-deo.html
●Eclipse(エクリプス)でwebアプリを開発する4ステップ
ua-cam.com/video/PXvs02_VM0I/v-deo.html
返信ありがとうございます!
tomcatは頑張ってみます💦
今は、MySQLとサーブレット、JSPを連携することを学習しているので、
SQLについての動画も上げていただけたら幸いです!
アルゴリズムの動画もちょうど欲しかったところだったので動画を上げていただいてありがとうございました🙇♂️
いつも拝見しています。
42:13 のCLASSPATHについて質問があります。
なぜパスの頭部分に「.;」が必要なのでしょうか。調べたところカレントディレクトリというワードが関係しているみたいなのですが、それ以上明確な情報を検索しきれなくて。教えていただきたいです。
rice omuさん、コメントありがとうございました。
CLASSPATHの先頭に「.;」が必要なのは、コマンドプロンプトでコンパイル・実行するときに現在作業中のフォルダ内のクラスファイルを参照するためですね。
「.」はカレントディレクトリを表していて、「;」はパスの区切り文字です。
※CLASSPATHを設定していないときはカレントディレクトリのみを参照するんですが、サーブレット関連のjarファイルのみを設定するとそこだけを参照する(=カレントディレクトリは参照しない)ようになってしまいます
このあたりを踏まえて37:49あたりから見直してもらうと理解が深まるかなと思います。
@@SekaChan 返信ありがとうございます。
なるほど。だからどちらか一つではなく、両方の設定が必要なのですね。ありがとうございます。
ちなみに私はeclipceの方からjspファイルを実行しており、「.;」を消しても問題なく作動しているようなのですが、カレントディレクトリはあくまでもコマンドプロンプトから現在作業中のクラスファイルを参照するために必要な作業でしょうか。
菅原さんこんばんは
いつも動画とても参考になります。
質問させて頂きたい事があります。
私は未経験から転職を目指していて、ポートフォリオを作ってみたんですが、転職先に動作状況を見てもらうためには、どのようにネット上に公開すれば良いでしょう?
「Heroku (ヘロク)」というサイトを使って公開はしてみたんですが、Herokuだと、サーバーのディレクトリ全体が見れなくて画像や動画データなどの読み書きが上手く出来ないため、他にサービスがあれば使いたいと思っています。
講義の内容とはずれていますが、ご存知でしたらアドバイス頂けると幸いです。
よろしくお願いします。
かおるさん、こんにちは。
いつも動画を見てくれてありがとうございます!
前に同じような質問をもらったときに調べてみたんですが、Javaのサーバサイドプログラムが動く環境を用意するにはレンタルサーバが必要でそれなりの金額がかかりそうな感じでしたね‥
僕が使っているサーバでもJavaの環境は提供されておらず、他のオススメサービスは見つけられませんでした🙏
「転職先に動作状況を見てもらうため」という目的であれば、例えばローカル環境で動かしている様子を動画に撮るなど、別の視点から解決方法を考えてみるのもアリだと思います。
もちろん、Heroku上でデータをうまく扱えるようになるのが理想ではありますが‥
力になれず申し訳ないですが、転職がうまくいくように応援しています!
返信ありがとうございます^^
自分でも調べてみましたが、
・HerokuとAWS (写真や動画のデータの管理のみを担う)を組み合わせる
・自分でサーバーを用意してネットに公開する(自分で管理が必要)
・有料のJava対応レンタルサーバーを使用する
など見つかりました。
料金を気にしなければ方法はあるみたいですね…💦
ですが、効率よく転職先にアピールするには、菅原さんがアドバイスして下さったように別の方法を選んだ方が良さそうなのが分かりました。
模索しながら頑張ってみます!
33:05のプログラム(register?)だと思うのですが、送信ボタンをクリックすると先生と同じように画面が表示されずファイルが見つからないと出てしまいます。
どすればよろしいでしょうか?🙇♂️
さんかめはめさん、コメントありがとうございました。
33:05の時点では、送信ボタンを押して次の画面が表示されなくても大丈夫ですよ😄
(33:39あたりからお話ししている通り、サーブレットのプログラムはこの先の動画で作ることになります)
@@SekaChan ありがとうございます!
パソコン壊れてるのかと思いました😅
Javaを学習し始めたばかりでエラーが頻発します。エラーメッセージを読もうと思ってもわからず、自分で書いたものを1から読み直してそれに1日費やす日々です。
エラーメッセージがわかれば良いのですが、それについて解説する動画を作成する予定はありますか?
エラーを読めるようになるには何か方法はありますか?また、おすすめの本などがあれば教えていただければと思います。
よろしくお願いします。
コメントありがとうございました!
これまでの講師経験で感じるのは、最初からEclipse等の便利なツールに慣れてしまうと自分でエラーを読み取る力が伸びにくいということですね。
エラーを読めるようになるには、1つひとつのエラーと向き合って解決する経験を積み重ねていくのが効果的だと思います。
ただ、エラーを読み取るにもコツはあります。
入門講座の中でそのあたりに触れているので、ぜひ参考にしてもらえたら嬉しいです。
(解説動画を改めて作る予定は、今のところありません)
質問よろしいでしょうか。
動画を参考にサーブレットなどを作ったのですが、ブラウザから表示することができません。(localhost8080〜から)
tomcatは起動しており、パソコンの設定の問題なのでしょうか?
煽りか…?
Javaでwebアプリケーション開発したいと考えているのですが、linuxの知識は必要でしょうか?
gytrhu 6uさん、コメントありがとうございました。
linux以外のOSで開発するのであれば、linuxの知識は必要ないですね。
(linuxで開発するとしても、ファイル作成やコンパイル等の基本操作ができれば大丈夫です)
ぜひ、ラムダ式をわかりやすく説明して欲しいです。よろしくお願いします。
Julius Petroniusさん、いつもリクエストコメントありがとうございます。
せっかくたくさんリクエストをもらっているのに申し訳ないですが、ラムダ式はJulius Petroniusさん以外からあまりリクエストがない状態なので、動画化するとしても先になっちゃうかなと思います。
もし急いで習得したい!ということであれば、こちらのチェンネルにラムダ式の解説シリーズがあるので、ぜひ見てみてください🙏
ua-cam.com/play/PL0BiAlg8j4Zu_XVmBIq2DTSP8LdRWSjwV.html
正直言ってどこから見て良いかわからなくなってしまいました
マジです!
改造マリオさん、コメントありがとうございました!
3時間もある動画なので、どこから見たら良いかわからなくなっちゃいますよね💦
動画の概要欄にチャプター(項目ごとの開始時間表示)を作っています。
各章のオープニングをパーッと見ていって、必要なら本編に進んでもらうのが効率的かなと思います。
59:15のimportの下3つが全て出来ません、、
cmdでパッケージが見つからないと書かれていてどうすればいいのでしょうか?
全く分からず困っております😢
また、昨日Tomcatのstartup.batが開いていたのに、今日試したところcmdすら開きませんでした。環境設定は全て菅原先生の動画を拝見してやったので、間違いないと思うのですが、、
ちなにTomcat9.0.69です。
原因を見てみたところカタリナホームが定義されていないとのことでした。
先生と同じくCドライブに入れてパスも全く同じにしてるのにうまくいきません😅
さんかめはめさん、コメントありがとうございました。
昨日動いていたものが今日動かないということは、昨日から今日までの間にした何かの処理や設定変更が影響しているのかなと思います。まずは、Tomcatが動く状態に戻したいですね。
また、CATALINA_HOMEの設定にも何か誤りがあるのかもしれません。
「間違いない」と思うと間違いは見つかりにくいので、「どこか間違えているはず」という考えで設定を見直してもらうと解決につながりやすいかなと思います。
@@SekaChan ありがとうございます!
いつもいつも質問してばかりで申し訳ありません🙇
いつも分かりやすい動画をありがとうございます。
SNSでたまに話題になる
「新入社員研修はサーブレットでやるべきか、それともSpring Bootでやるべきか」という話について菅原さんのご意見をお伺いしたいです。
「サーブレットは新規開発の実務では基本使われていない」、
「サーブレットはSpringに比べて記述量が増えてしまう」、
「Java初心者にSpringをさせたら"おまじない"として教える箇所が多くなってしまう」
などの意見があるようです。
新人研修は何をやるべきかっていう話題、たしかに多いですね。
SNSとかで見るのは(上に書いてくれた意見も含めて)技術者寄りの視点が多い気がします。
ただ、いろんな会社で新人研修を企画・実施してきた僕からすると、新人研修は会社にとっては投資事業なので、ヒト・モノ・カネをどう使うかっていう経営判断なのかなと思っています。
サーブレットから学ばせる会社は【土台技術からしっかり理解してほしい(カネと時間を使ってヒトをじっくり育てたい)】、Springを学ばせる会社は【即戦力として開発に直結する技術を理解してほしい】という違いがあるのかなという印象です。
@@SekaChan
お忙しいところ、ご回答いただきありがとうございます。
どちらの良さもあるから経営者の考え方次第ってことですね!
1:02:30 ここができない。
まず、私のPCははMacで、データはこちらで配布されているものを使っています。
なのでコンパイルの前にutf-8にエンコードしています。
ちなみにエンコードの仕方は、javac -encoding -utf-8 でやると
出来なかった(この文字(0x83...)はutf-8にマップできません と出る)ので、
エディタに入れて、文字コードを指定して保存し直しています。
この動画の前に、同チャンネルのJDBCのシリーズをやっていて
(「webアプリとDB連携」から、このwebアプリのシリーズに飛んできました)、
そのときも配布データはエンコードして、それで無事、動画の通りに出来ていました。
今回、当該箇所で今までと違った部分は、
FirstServlet.javaファイルが上手くエンコード出来なかった点です。
上記ファイルはそもそもutf-8 で作成されていますが、エディタで開いた時点で文字化けしており、
どう編集したり、保存し直したりすればいいのか分からなかったので、
とりあえずメモで開いて、日本語の部分を消しました。
すると文字化けがなくなり、コンパイルが通ったので、あとは動画の通りに進めたのですが、
どうしても 404 になってしまいます。
どなたかご助言くださると幸いです。
ーーーーーーーーーーーーーーーーーーーーーーーーー
追記:
自己解決しました。
コメント欄で、JDK, JREの設定は前提とあったので、
調べてやってみたところ、(おそらくはそれによって)成功しました。
FirstServlet.java の中身は、コンパイルの時点では文字化けしているので、
メモで、header と title を適当な aa とかにして一旦、保存(文字化けを除去)し、
あらためてエディタで日本語を入力し直し、コンパイル。
再度、tomcatを起動し直し、無事、動画通りの結果になりました。
コメントありがとうございました!
僕の動画や提供データはWindows環境で作っているため、Macの方は同じようなケースがあるかもしれません。
そのため、このような情報共有は他の視聴者さんにとってかなり有益なものになると思います。
わざわざ状況や対処法などを細かく載せてもらって本当に感謝しています。どうもありがとうございました!!
(プログラムも正常に動いたようで良かったです)
メモ:
tomcat
37:30
フォルダ構成
43:10
1:02:47付近でlocalhost では現在このリクエストを処理できません。
HTTP ERROR 500
というエラーが出たのですが何が原因でしょうか
調べてもJAVAのエラーが出てきません...
江口隆也さん、コメントありがとうございました。
この情報だけで原因を特定するのは難しいですが、ブラウザを立ち上げているということはコンパイルは成功していて、Tomcatも正しく起動できている状態なのかなと思います。
だとしたら、プログラムで(Javaの文法としては間違えていないけど)内容の部分に間違いがあるのかもしれません。
例えば、setContentTypeメソッド内の文字列などをひと通り確認してみてください。
@@SekaChan
返信ありがとうございます!
色々調べてためしてみます!
JDBCやdaoなどについての動画もお願いしたいです!
ポキパルチュールさん、コメントありがとうございます!
JDBC(dao)はwebアプリと関連があるし、前から何回かリクエストをもらっているので、いつかシリーズ化できたらいいなと考えてます😄
質問させて下さい。
counter.jspを実行すると、下記のエラーが発生します。
メッセージ /counter.jsp (行:[2]、列:[0]) useBeanのクラス属性 [bean.CounterBean] の値が無効です
C:\apache-tomcat-9.0.68\work\Catalina\localhost\javaweb\org\apache\jsp
ここにcounter_jsp.javaのクラスファイルが作成されていないからかと思ったのですが、どうしてできないのでしょうか?
C:\apache-tomcat-9.0.68\webapps\javaweb\WEB-INF\classes
に CounterBean.java を配置し、javacでコンパイルしました。
何か手順がおかしいのでしょうか?
Atsuko Tさん、コメントありがとうございました。
counter_jsp.javaのクラスファイルが作成されていないのは、counter.jsp内にエラーが生じているためですね。
そのエラーが
> メッセージ /counter.jsp (行:[2]、列:[0]) useBeanのクラス属性 [bean.CounterBean] の値が無効です
で、これを解決すればクラスファイルが自動生成されます(他にエラーがない場合)。
エラーメッセージから、CounterBeanはbeanパッケージに属するクラスですよね。
なので、CounterBeanのクラスファイルはclassesフォルダ内の【beanフォルダ内】に配置する必要があります。
また、念のためCounterBeanクラスにパッケージ宣言(package bean;)をしているかも確認しておきましょう😄
ご回答ありがとうございます。beanフォルダを作成して、その配下に格納しコンパイルしましたら、エラーが解決いたしました。
ありがとうございました!
いつもお世話になっております。これはノートはないですか??。。
坂田大輔さん、コメントありがとうございました!
すみませんが、webアプリ編は授業ノートを作っていません🙏
わかりやすい!(≧▽≦)
米豆粒伞さん、コメントありがとうございました!
わかりやすいって感じてもらえて良かったです😄
先生、質問させてください。先生の教材をダウンロードして、サーブレットをコンパイルしたところ、シンボルを見つけられません。importした部分が存在しませんと表記されました。環境変数などはきちんと整えてtomcatも動く状態なのですが、原因が掴めませんでした。お忙しいところ大変恐縮ですが、教えていただきたいです。
具体的なエラーメッセージが分からないので確実なことはいえませんが、「importした部分が存在しない」ということは、きっと何かのパッケージ名が解決できないということなんですよね。
Tomcatのバージョン(厳密にいうとservlet-api.jar)によってサーブレット関連のパッケージ名が異なるので、そのあたりの可能性が高いかなと思います。
こちらの動画の説明欄も参考にしてみてください。
ua-cam.com/video/1D9PeDnONOQ/v-deo.html
@@SekaChan 承知いたしました。実行してみます!
tomcatは普通のクライアントOS(windows)PC上でWebサーバを構築させる。ってことでしょうか。。
普通サーバOS上でWebサーバって動くものって思ってましたが、。
クライアントOS上で動かすメリット?は何なんでしょうか?
すみません初心者で質問が変だったらすみません。。
たしかに、大人数がアクセスするような場合はサーバOS上で動かすケースが多いです。
ただ、クライアントOS上にTomcatをインストールしたほうが、みなさんも同じ環境を整えやすいですよね😄
プログラミングを学ぶには自分で動作確認できる環境が欠かせないので、この動画ではクライアントOS上でTomcatを動かしています。
@@SekaChan
お忙しい中わざわざありがとうございます。 内容について理解しました!
Startupで立ち上げようとしてもコマンドプロンプトが一瞬で消えてしまいます。環境変数の設定を間違えているのでしょうか
おさかなさん さん、コメントありがとうございました。
状況が分からないので判断が難しいですが、おそらく環境変数の設定に原因があるように思います。
この動画で説明した設定に問題がなければ、こちらの動画( ua-cam.com/video/QeCX5-OmWW8/v-deo.html )で説明しているJDK関連のパスの設定も確認してみてください。
@@SekaChan
無事解決できました!環境変数に問題があったみたいです
ありがとうございました
2:07:20
エディタはサクラエディタを使用しております
こんにちは。Twitterから質問したい旨コメント差し上げたのですが、その後自己解決できましたので、
今回は質問取りやめさせていただきます。
また疑問点等あった場合はコメントから質問させていただきますので、よろしくお願いいたします。
五十嵐淳さん、こんにちは😄
自己解決できたみたいで良かったです。わざわざ伝えてくれてありがとうございました!
何かあれば、また気軽にコメントしてください。
daoの作成方法やdaoのtest作成などについて教えて欲しいです(´・_・`)
ナナミンさん、コメントありがとうございました!
daoはリクエストが多いので、シリーズ化を含めて前向きに検討中です🍀
testを含めるかは分かりませんが、気長に待っていてもらえると嬉しいです!
話が早いので、0.9に設定して聞かせて頂いております。
Atsuko Tさん、コメントありがとうございました!
「話が早い」という動画へのフィードバック、とてもありがたいです😄
話すテンポやスピードについて前から気になっていたので、今度の参考にさせてもらいますね。
ありがとうございました!!
PCの拡張子を表示する設定が抜けてますね。
デフォルトは拡張子を表示しないから、そこで初心者がつまります。
jojoさん、ご指摘ありがとうございました!
拡張子が表示されずにこのコメントを見る人がいるかもしれないので、ここに表示方法を掲載しておきますね。
-----
拡張子とはファイル名の末尾につく「.」以降の文字列のことで、そのファイルの種類を表します。
任意のフォルダを開いて
[表示]タブ-[表示/非表示]の「ファイル名拡張子」にチェックを入れる
と拡張子を表示することができます。
-----
すみません、自己解決です。
動画を参考にさせていただき、サーブレットでアプリの開発を始めたのですが、@WebServletとWeb.xmlのどちらでURLを指定するのが良いのかわかりません。両方記述されているとエラーになってしまいます。個人的には@WebServletの方を使いたいと思っているのですが、どちらがおすすめなどありますか?
コメントありがとうございます!
個人的にプログラムを作って動かすだけであれば、どちらで記述しても大丈夫ですよ。
各ソースでサクッと設定したければ@WebServletを使って、設定情報を1ヶ所にまとめたければweb.xmlを使う感じですね。
何人かでプロジェクト開発をするときには、全体でルールを統一するケースが多いかなと思います。
@@SekaChan ありがとうございます!個人でWebアプリを開発するだけなので,@WebServletでやってみようと思います!