5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Spring MVCの処理フローを整理してみた

5
Last updated at Posted at 2026-07-18

はじめに

最近、仕事でSpring MVCを使ったフロントエンド側の開発をしています。
今まではバックエンドのAPI開発の経験がほとんどでしたが、JSPを触るフロントエンド開発はあまり経験がなく、処理の流れなどがあまり理解できていない状態でした。
そのため、今回、色々調べながら自分なりにSpring MVCの処理フローを整理してみました。

MVCとは

MVCはアプリケーションのアーキテクチャパターンの1つで、アプリケーションをModel、View、Controllerの3つの役割に分けて設計する考え方です。

Model

データとデータに関する処理(ビジネスロジック)を担当します。
DBアクセスやデータの取得・保存・加工などを行います。

View

UIを担当します。
Controllerから渡されたModelのデータを画面に表示します。

Controller

ModelとViewの間をつなぐ役割をします。
ユーザーからのリクエストを受け取り、Modelに処理を依頼し、その結果をViewに渡します。

JSPベースのSpring MVCの処理フロー

クライアント(Browser)からHTTPリクエストが送信された場合のSpring MVCの処理フローを以下のように整理しました。

上記のシーケンス図が見づらい場合は、以下の画像をご覧ください。

image.png

※ BrowserでJavaScriptが実行される場合、HTTPレスポンス(HTML)後にJavaScriptが実行されます。

Spring MVC内部コンポーネント

Spring MVCには、DispatcherServletなどの内部コンポーネントが存在しますので、それぞれの役割を整理します。

  • DispatcherServlet
    クライアントからのHTTPリクエストを受け取り、適切なコンポーネントに処理を振り分けます。

  • HandlerMapping
    リクエストに対応するHandler(Controller)を検索します。

  • HandlerAdapter
    検索で取得したHandler(Controller)を実行するために、Controllerのメソッドを呼び出します。

  • ViewResolver
    Controllerが返却したView名からJSPのパスを返却します。

おわりに

今回は、Spring MVCの処理フローについて、自分の理解を整理するためにまとめてみました。
今回の調査で、Spring MVCの全体的な処理の流れを理解できました。
また、Controllerが呼び出される前に、複数の内部コンポーネントが関わっていることもわかりました。
これからの開発では、この流れを考えながら進められたらと思います。

5
7
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
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?