技術メモ

学んだことをメモしていくブログ...

SpringMVC

Spring MVC とは

Spring MVCとはJava言語を用いてWebアプリケーションを開発する際に使用するフレームワークの一つ。フレームワークアーキテクチャとしてMVCを採用している。

コンポーネント 説明
Model アプリケーションの状態やビジネスロジックを提供するコンポーネント
View Modelが保持するアプリケーションの状態を保持し、クライアントへ返却するレスポンスデータを生成するコンポーネント
Controller リクエストをハンドリングし、ModelとViewの呼び出しを制御するコンポーネント

Webアプリケーション開発における特徴

  • POJOでの実装
  • アノテーションを使用した定義情報の指定
    • リクエスマッピングなどの各種定義情報は、設定ファイルではなく アノテーション を使用して指定する。
    • ロジックとロジックに関連する定義情報をJavaファイル内で一緒に管理することで、効率的にWebアプリケーションを開発することができる。
  • 柔軟なメソッドシグネチャの定義
  • Servlet APIの抽象化
  • Viewの実装技術の抽象化
    • Controllerはビュー名だけ意識すればよいため、ControllerがViewの実装技術を意識する必要がなくなる。
  • Spring DIコンテナとの連携
    • DIコンテナやAOPを利用できる

前提

そもそもの前提として、JSP/サーブレットコンテナが動く環境構成のイメージがないと分かりづらい。(tomcat4なのはおいておいて)

f:id:tutuz:20190419071335g:plain

https://www.itmedia.co.jp/enterprise/0212/09/epn14.html fig05.gif」より引用

実際にやってみる

githubのリンクをのせておく

おまけ

jsp の開発環境を構築するのに少し手間取った。

/WEB-INF/lib に以下のjarを配備する必要がある

1.JSTL API(インタフェース)のダウンロード Maven RepositoryのJSTL-APIダウンロードURL https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api/1.2 にアクセスし、ページ中央のDownload(JAR)をクリックしてダウンロードします。

2.JSTL(実装)のダウンロード Maven RepositoryのJSTL実装のダウンロードURL https://mvnrepository.com/artifact/org.glassfish.web/jstl-impl/1.2 にアクセスし、ページ中央のDownload(JAR)をクリックしてダウンロードします。

Javaのビルドパス

JavaデプロイメントアセンブリMaven依存関係を追加する必要がある。

用語

用語 説明
Javaサーブレット サーバ上でウェブページなどを動的に生成したりデータ処理を行うために、Javaで作成されたプログラム及びその仕様
サーブレットコンテナ HTMLなどのWebページを動的に生成するJavaサーブレットを動作させるためのソフトウェア
リスナー Webアプリケーションに何らかのイベントが発生した際にそれをプログラムに通知する機能

参考