#16 Javaを用いたWebシステム構築(Java)
Javaを用いたWebシステム構築(Java)
私の1ヶ月間のインターンで培った
Javaの研修+システム構築のノウハウを自分なりにメモ書きしておきます。
環境設定にはTomcatとJavaEEを使用しております。٩( 'ω' )و
1. MVCモデルの基本
MVCのそれぞれの役割
M = Model
V = View
C = Contoroller
上のようによく言われますが分かりませんよね?
私は理解に丸三日間くらいかかりました。。。
一方通行ではないのが分かりにくい原因かなと考えて下記の通りに簡略化して覚えました。
どうですか?分かりやすいですか?
多分最初は分からないですよね・・・。
次からMVCそれぞれの役割を紹介します!
2. jspファイルとは?
簡潔に書くと・・・
要は、このJSPファイルに書き込んだ記述が見た目のWebページを形成します。
あと、ファイル名は〜〜〜.jspと書きます。
例:test.jsp
具体的に中身を簡単に書きます。
<body>
<div>
<h1>テスト</h1>
<p>テストです</p>
</div>
<form method="post" action="servelet.jsp">
<input type="text" value="" />
<button type="submit" name="text" value="submit">送信</button>
</form>
</body>
こんな感じかな?
めちゃめちゃ適当に書いてごめんなさい・・・。
一応下記みたいになります!formは外していますが。
テスト
テストです
動きとしては、
白い枠内(<input type="text" value="">)に入力した内容をvalue(値)として持ち、
送信ボタン(<button type="submit" >)を押すと送信される動きです!
それではどこに送信されるのか?ということですが、
ここで赤字の部分を見てください!
このjspファイルまで値を飛ばしちゃいます!すげえ!
そこでやっとjspファイルにて入力された内容をキャッチしていじいじできるようになるのです。٩( 'ω' )و
3. Servletとは?
先ほど書いたようにjspファイルから飛ばされた内容をキャッチできます。
あと、次のModelとjspファイルの架け橋になります。
要は裏側の操作になります。
ただ、ここがややこしいのですが、
キャッチする記述はもちろん必要ですし、
何よりサーブレットにはdoGetとdoPostが存在します。
このdoGetとdoPostの存在の理解に丸二日ほどかかりました。。。はい。。めちゃむずだと思います。。。
一言でdoGetとdoPostを表すなら・・・
doGet = Serveletに値が Postで送られていなくても動く
doPost = Serveletに値がPostで送られている場合に動く
ちなみにdoGetの中でWebページを表示させる記述をしなければいけません。
そうしないとWebページは表示されません。
(サーバー上で。JSPファイル単体は表示できます)
ここも相まってよく分からなくなったのが私です。。
簡単に流れをまとめますね。(2.で記述したコードがベース)
① method="post"ですので
この時に最初に動くのはdoPost。
②その後にdoGetが動く。(出ないとWebページが表示されないからね。記述がdoGetに書かれているから)
③method="get"や何もサーブレットに値を送ることがなければ、基本的にdoPostは動かずdoGetのみ動くよ!
どうかな?私の持てる限りの説明になるんだけど・・・。
力不足で申し訳ありません。
このようにしてサーブレットが存在しています。٩( 'ω' )و
4. DAOとDTO(Bean)の理解
これ、はっきり言ってあんまし覚えなくていいかもしれません。(多分)
ちなみにDTOに関してはBeanと呼ばれる場合もある・・・のかな?
DAO = データベースにアクセスするためのJavaファイル
DTO(Bean)= データベースにアクセスし、取得した値を保存するJavaファイル
DAOはなんとなく理解できたんですけど、
DTO(Bean)は厄介ですよね。。いまいちピンとこないと言いますか・・。
でも上の言い方が一番簡単かなと思います。
ー流れー
①サーブレットからDAO経由にデータベースにアクセス
②データベースから取得した値をDAOに一旦置き、
その後DTOに置きにいく。
(DAOは一時的に置いているだけで、DTOは永久的に置いておける)
③永久的にDTOに保存されている取得した値をサーブレットで呼び出し、
Webページに反映する。
このような感じになりますかね?
私の認識ではこれです!!
間違えていればご指摘いただければ光の速さで修正します・・・。
5. まとめ
うまく伝わったか分かりませんが
一応私の理解している体でメモ代わり書かせてもらいました。
Javaっていろんな種類があって面白い反面大変ですよね・・・。
私も少しずつ覚えていますので一緒に頑張りましょう!٩( 'ω' )و
本当に少しずつで。少しずつでいいんですよ・・・。