1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Java]STSの導入からローカルホストでの動的ページの確認までの流れ(1/3)

Last updated at Posted at 2020-07-30

会社の研修ではだいたい2~3人ぐらいのグループで仮想プロジェクトを作成することになっています。
プロジェクトはSpringToolSuite(STS)を使うのですが、研修生向けマニュアルのようなものが今までなかったので、導入からローカルホストを立ててWebページを確認するまでをまとめました。
初めてプログラミングの仕事に就く人向けですので、初歩的なところも端折らず書いています。

記事は3つに分割しています。
1. MVCモデルの説明 ←今ここ
2. STSの導入からPleiadesによる日本語化まで
3. プロジェクトの作成からローカルホストでページを確認するまで

STSをダウンロードする前に、まずはWebアプリケーションの設計思想であるMVCモデルの説明から始めます。
最初から座学かよと思わず少しだけお付き合いください。

#MVCモデルとは
MVCモデルというのは、一言で表すとWebアプリケーションの設計思想の1つです。
Webアプリケーションを作る際に開発者が思い思いに実装すると、その人にしか理解できなかったりバグが発生したりとトラブルになりがちですし、クライアントの側から直接データを参照するのはセキュリティの面でもよろしくありません。
そのため、要所々々で何をどう動かすかのルールを決めて実装しようという話です。
それぞれの役割は以下の通り。

M : Model
演算やデータ層へのアクセスなど、実際に何か処理を行う部分。ロジックやサービスという名前が付く。
Controllerによって呼び出されて演算結果やデータベースから取得したデータなどを返す。
V : View
Controllerによって生成されクライアントに送られる。名前の通り見た目の部分であり、グラフや図のほか、Webページに必要なHTMLファイルもここに含まれる。
C : Controller
HTTPリクエストの内容を確認して適切なModelを呼び出し、演算結果やデータなどをViewとして生成してクライアントに送り返す(HTTPレスポンス)するもの。

例)
クライアントがWebページでキーワードを入力する

Controllerがキーワードを受け取ってデータベースにアクセスするためのModelに飛ばす

Modelがデータベースにアクセスし、キーワードに紐づくデータを取得してControllerに返す

ControllerはViewとしてHTMLファイルを作成し、ファイル内にModelから取得したデータを記載してクライアントに送る

Webページが遷移してキーワードに紐づいたデータの一覧が表示される

MVCモデルはあくまでも設計思想であり、開発において明示的にMVCモデルだと設定するようなことはありません。
そうは言ってもMVCモデルを意識しなければ、リクエストをController以外のものが受け取ってしまったり、全然関係ない演算処理を1つのModelに入れてしまったりということが起こるかもしれません。
実装した人にしか理解できないコードはその場では動いたとしても後々障害になりますので、頭の片隅に置きながら開発を進めるのが良いと思います。

以上がMVCモデルの簡単な説明でした。次回はSTSをダウンロードして日本語化するところまで進めたいと思います。

次回:STSの導入からPleiadesによる日本語化まで

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?