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. UserVO 객체의 문자열 표현을 반환하는 toString() 메서드를 구현합니다.

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. Spring MVC 컨트롤러로 만들기 위해 @RestControllerUserController 클래스에 주석을 답니다.
  3. "/login" 엔드포인트에 대한 HTTP POST 요청을 처리하는 login()이라는 메서드를 구현합니다.
  4. /login 엔드포인트에 매핑하기 위해 @PostMapping("/login")으로 login() 메서드에 주석을 답니다.
  5. login() 메서드에 대한 단일 매개변수를 선언합니다. 이는 UserVO 객체여야 합니다.
  6. login() 메서드 내부에서 System.out.println()을 사용하여 수신된 UserVO 객체를 백엔드 콘솔에 출력합니다.
  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. 웹 애플리케이션이 실행 중인지 확인합니다. 다음 명령을 실행하여 애플리케이션을 시작할 수 있습니다:
mvn clean tomcat7:run
  1. 웹 브라우저를 열고 http://localhost:8080/login.jsp로 이동합니다. 로그인 페이지가 표시되어야 합니다.

  2. 사용자 이름과 비밀번호를 입력한 다음 "Login" 버튼을 클릭합니다.

  3. 백엔드 콘솔에서 다음과 유사한 출력으로 수신된 UserVO 객체가 출력되는 것을 확인할 수 있습니다:

UserVO{username='taylorJoy', password='123'}
  1. 서버의 응답은 웹 페이지에 표시될 사용자 이름이어야 합니다.

축하합니다! JavaBean Multiple Parameters 프로젝트를 성공적으로 구현했습니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.