JavaBean を使ってリクエストパラメータを受け取る

JavaBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、JavaBean を使ってリクエストから複数のパラメータを直接受け取る方法を学びます。ログインページに複数の入力フィールドを持つフォームがあり、バックエンドが JavaBean オブジェクトを使ってフォームデータを受け取り処理するログインプロセスを実装します。

👀 プレビュー

  • ログインページ Login page interface

  • ログイン結果 Login result page display

🎯 タスク

このプロジェクトで学ぶことは以下の通りです。

  • ユーザ情報を表すUserVOクラスを実装し、リクエストからパラメータを受け取る方法
  • ログインリクエストを処理し、UserVOオブジェクトを使ってパラメータを受け取るUserControllerクラスを実装する方法
  • アプリケーションをテストし、受け取ったパラメータがバックエンドコンソールに正しく表示されることを確認する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • リクエストから複数のパラメータを表し受け取る JavaBean クラスを作成する
  • Spring MVC を使って HTTP リクエストを処理し、受け取ったデータを処理する
  • アプリケーションをテストし、期待される動作を確認する

UserVO クラスを実装する

このステップでは、リクエストから複数のパラメータを受け取るためのUserVOクラスを実装する方法を学びます。

  1. org.labex.voパッケージに移動し、UserVOという名前の新しい Java クラスを作成します。
  2. UserVOクラスで、次のような private 属性を宣言します。
    • username:ユーザー名を格納するString
    • password:パスワードを格納するString
  3. usernamepassword属性の getter と setter メソッドを生成します。
  4. toString()メソッドを実装して、UserVOオブジェクトの文字列を返すようにします。

あなたのUserVO.javaファイルはこのようになるはずです。

package org.labex.vo;

public class UserVO {
    private String username;
    private String password;

    @Override
    public String toString() {
        return "UserVO{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

UserController クラスを実装する

このステップでは、ログインリクエストを処理し、UserVOオブジェクトを使ってパラメータを受け取るためのUserControllerクラスを実装する方法を学びます。

  1. org.labex.controllerパッケージに移動し、UserControllerという名前の新しい Java クラスを作成します。
  2. UserControllerクラスに@RestControllerを付与して、Spring MVC コントローラにします。
  3. "/login"エンドポイントへの HTTP POST リクエストを処理するlogin()というメソッドを実装します。
  4. login()メソッドに@PostMapping("/login")を付与して、それを"/login"エンドポイントにマッピングします。
  5. login()メソッドに 1 つのパラメータを宣言し、それはUserVOオブジェクトでなければなりません。
  6. login()メソッドの中で、受け取ったUserVOオブジェクトをSystem.out.println()を使ってバックエンドコンソールに出力します。
  7. UserVOオブジェクトからのusernameをレスポンスとして返します。

あなたのUserController.javaファイルはこのようになるはずです。

package org.labex.controller;

import org.labex.vo.UserVO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @PostMapping("/login")
    public String login(UserVO userVO) {
        System.out.println(userVO);
        return userVO.getUsername();
    }
}

これで、UserVOクラスとUserControllerクラスの実装が完了しました。次のステップでは、アプリケーションをテストします。

アプリケーションをテストする

アプリケーションをテストするには、次の手順に従います。

  1. ターミナルで、次のコマンドを使ってSpringMVCJavaBeanプロジェクトディレクトリに移動します。
cd ~/project/SpringMVCJavaBean/
  1. Web アプリケーションが実行されていることを確認します。次のコマンドを実行することでアプリケーションを起動できます。
mvn clean tomcat7:run
  1. Web ブラウザを開き、http://localhost:8080/login.jspにアクセスします。ログインページが表示されるはずです。

  2. ユーザー名とパスワードを入力し、「Login」ボタンをクリックします。

  3. バックエンドコンソールには、受け取ったUserVOオブジェクトが次のような出力と同じように表示されるはずです。

UserVO{username='taylorJoy', password='123'}
  1. サーバーからのレスポンスはユーザー名であり、Web ページに表示されます。

おめでとうございます!あなたは正常に JavaBean 複数パラメータプロジェクトを実装しました。

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を行って練習することができます。

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習