Spring Boot Web プログラミング(基礎編)

Spring Boot フレームワークを使った Web アプリケーション開発を始めるための導入講座です。Spring MVC を使って、HTML フォームから送信されたリクエストを処理する簡単なプログラムを作成できるようになります。この講座ではデータベースを使ったデータの永続化は扱わず、その前段階の基本的な画面周りの動作を実装するための基礎知識を整理します。

    目標

    • STS4(Eclipse)の Spring スタータープロジェクトで開発を始められるようになる
    • HTTP や URL 等、Web 開発の基礎知識を整理する
    • Spring Boot で GET/POST リクエストを処理する方法がわかる
    • Thymeleaf を利用した MVC 構成のアプリケーションの動作原理を理解する

    対象者

    • 新入社員(ソフトウェア開発者)の方
    • Java の Web アプリケーション開発の基礎知識を習得したい方

    前提条件

    • パソコンの基本操作、テキストエディタによる編集等ができること
    • 基本的な Java プログラミングの知識を持っていること

    単元一覧

    • Spring Boot の導入
      Spring フレームワークの概要と、それを利用した Eclipse プロジェクトの作成から実行までの基本的な手順を整理します。 また、Spring フレームワークを使う上で不可欠な知識として、Java のアノテーションについて簡単に復習しておきます。
    • Lombok の利用
      Lombok は、多くのクラスで繰り返し出現する単調なコードを自動生成するライブラリです。 Spring Boot とは別の汎用ライブラリですが、以後のサンプルで繰り返し利用することになるので、ここで概要と使用例を紹介しておきます。
    • HTTP と静的ファイル
      ここから Web プログラミングに入ります。その入口として、基盤技術である HTTP の基本的な仕組みと、Spring Boot の Web サーバー機能を利用して静的ファイルを配信する例を紹介します。
    • GET リクエストの処理
      Spring フレームワークを使ったサーバー機能のうち、GET リクエストを処理してレスポンスを返す方法、およびリクエストに含まれるクエリ文字列をパラメータとして受け取る方法を取り上げます。
    • フォームと POST リクエスト
      HTML フォームの構造、POST リクエストを処理する方法、およびフォームクラスを利用してフォームデータを取得する方法について説明します。
    • MVC と Thymeleaf
      MVC というアプリケーション設計パターンと、そのために Spring が用意している Spring Web MVC というフレームワークを使って、コントローラからビューに制御を転送する基本的な動作について説明します。
    • Model による値の受け渡し
      コントローラ側で用意した変数の値をビューに引き渡す方法と、渡された値を Thymeleaf のテンプレート側でページ出力に反映する例をいくつか紹介します。
    • ビューの実装
      Thymeleaf テンプレートで使用できる式言語の概要を紹介した後、独自に定義したクラスのインスタンスを Model に格納し、これを Thymeleaf テンプレート側で取り出して結果ページや入力フォームに反映する例を紹介します。 また、一つのテンプレートで送信フォームと結果ページの両方を出力する構成や、フォームクラスを使用して入力フォームの初期状態を設定する方法も取り上げます。
    • MVC アプリケーション実習
      MVC 構成でリクエストとレスポンスの送受信を行う簡単なアプリケーションを作成する実習に取り組みます。 ここまでの復習に役立ててください。
    • リダイレクトと PRG
      ブラウザから送信されたリクエストを転送する仕組みを取り上げます。 まず、フォワードとリダイレクトという2種類の方法について説明した後、フォームで POST リクエストを送信した後に結果ページを再読み込みした場合の問題と、それに対処する PRG パターンという手法を紹介します。

    教材サンプル

    ▼MVC サンプルの説明図

    ▼解説スライド(説明音声入り)

    ▼実習課題の構成図

    注意事項

    実習環境は Windows を前提に説明しています。

    標準学習時間: 20 時間

    利用期間: 
    31日間
    ¥6,600
    Powered by Drupal

    Stripe