駆け出しプログラマーの備忘録

異業種から訪れたIT業界について赤裸々トークを繰り広げる予定!                                 あ、私はプログラミングとは無縁の人生を送ってきたクソザコ野郎です٩( 'ω' )و

駆け プロ

#16 Javaを用いたWebシステム構築(Java)

 

f:id:momotaroch:20180412035139p:plain

Javaを用いたWebシステム構築(Java

 

私の1ヶ月間のインターンで培った

Javaの研修+システム構築のノウハウを自分なりにメモ書きしておきます。

環境設定にはTomcatJavaEEを使用しております。٩( 'ω' )و

 

1. MVCモデルの基本

f:id:momotaroch:20180412023410g:plain

 

MVCのそれぞれの役割

M = Model

V = View

C = Contoroller

 

上のようによく言われますが分かりませんよね?

私は理解に丸三日間くらいかかりました。。。

 

一方通行ではないのが分かりにくい原因かなと考えて下記の通りに簡略化して覚えました。

 

Webページ(表示部分)

f:id:momotaroch:20180412025044j:plain

JSPファイル

f:id:momotaroch:20180412025044j:plain

Contoroller(サーブレット:Serveletファイル)

f:id:momotaroch:20180412025044j:plain

Model(Bean(DTO)・DAO)

f:id:momotaroch:20180412025044j:plain

データベース

 

どうですか?分かりやすいですか?

多分最初は分からないですよね・・・。

 

次からMVCそれぞれの役割を紹介します!

 

2. jspファイルとは?

簡潔に書くと・・・

  • PHPのようにファイル内にHTMLやCSS、scriptを混在できる
  • ここで記述した内容がWebページに反映され表示する

要は、この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" >)を押すと送信される動きです!

 

それではどこに送信されるのか?ということですが、

ここで赤字の部分を見てください!

 

action="指定jspファイル.jsp"にすることで

このjspファイルまで値を飛ばしちゃいます!すげえ!

 

そこでやっとjspファイルにて入力された内容をキャッチしていじいじできるようになるのです。٩( 'ω' )و

 

3. Servletとは?

 先ほど書いたようにjspファイルから飛ばされた内容をキャッチできます。

あと、次のModelとjspファイルの架け橋になります。

 

要は裏側の操作になります。

 

ただ、ここがややこしいのですが、

キャッチする記述はもちろん必要ですし、

何よりサーブレットにはdoGetとdoPostが存在します。

 

このdoGetとdoPostの存在の理解に丸二日ほどかかりました。。。はい。。めちゃむずだと思います。。。

 

一言でdoGetとdoPostを表すなら・・・

doGet = Serveletに値が Postで送られていなくても動く

doPost = Serveletに値がPostで送られている場合に動く

 

f:id:momotaroch:20180411195003j:plain

 

ちなみに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ファイル

 

f:id:momotaroch:20180412034003j:plain

DAOはなんとなく理解できたんですけど、

DTO(Bean)は厄介ですよね。。いまいちピンとこないと言いますか・・。

 

でも上の言い方が一番簡単かなと思います。

 

ー流れー

サーブレットからDAO経由にデータベースにアクセス

②データベースから取得した値をDAOに一旦置き、

その後DTOに置きにいく。

DAOは一時的に置いているだけで、DTOは永久的に置いておける

永久的にDTOに保存されている取得した値をサーブレットで呼び出し、

Webページに反映する。

 

 

このような感じになりますかね?

私の認識ではこれです!!

間違えていればご指摘いただければ光の速さで修正します・・・。

 

5. まとめ

 

うまく伝わったか分かりませんが

一応私の理解している体でメモ代わり書かせてもらいました。

 

Javaっていろんな種類があって面白い反面大変ですよね・・・。

 

私も少しずつ覚えていますので一緒に頑張りましょう!٩( 'ω' )و

本当に少しずつで。少しずつでいいんですよ・・・。

 

にほんブログ村 IT技術ブログへ
にほんブログ村