Прием параметров запроса с использованием JavaBean

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь использовать JavaBean для непосредственного приема нескольких параметров из запроса. Вы реализуете процесс входа, где страница входа имеет форму с несколькими полями ввода, а на бэкэнде будут получены и обработаны данные формы с использованием объекта JavaBean.

👀 Предварительный просмотр

  • Страница входа
    Интерфейс страницы входа

  • Результат входа
    Отображение страницы результата входа

🎯 Задачи

В этом проекте вы научитесь:

  • Как реализовать класс UserVO для представления информации о пользователе и приема параметров из запроса
  • Как реализовать класс UserController для обработки запроса входа и использования объекта UserVO для приема параметров
  • Как протестировать приложение и проверить, что полученные параметры корректно выводятся в консоль бэкэнда

🏆 Достижения

После завершения этого проекта вы сможете:

  • Создать класс JavaBean для представления и приема нескольких параметров из запроса
  • Использовать Spring MVC для обработки HTTP-запросов и обработки полученных данных
  • Протестировать приложение и проверить ожидаемое поведение

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_attributes("Class Attributes") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_methods("Class Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/oop("OOP") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/annotation("Annotation") java/FileandIOManagementGroup -.-> java/io("IO") subgraph Lab Skills java/output -.-> lab-300376{{"Прием параметров запроса с использованием JavaBean"}} java/classes_objects -.-> lab-300376{{"Прием параметров запроса с использованием JavaBean"}} java/class_attributes -.-> lab-300376{{"Прием параметров запроса с использованием JavaBean"}} java/class_methods -.-> lab-300376{{"Прием параметров запроса с использованием JavaBean"}} java/oop -.-> lab-300376{{"Прием параметров запроса с использованием JavaBean"}} java/annotation -.-> lab-300376{{"Прием параметров запроса с использованием JavaBean"}} java/io -.-> lab-300376{{"Прием параметров запроса с использованием JavaBean"}} end

Реализация класса UserVO

В этом шаге вы научитесь реализовать класс UserVO для приема нескольких параметров из запроса.

  1. Перейдите в пакет org.labex.vo и создайте новый Java-класс с именем UserVO.
  2. В классе UserVO объявите следующие приватные атрибуты:
    • username: String, для хранения имени пользователя
    • password: String, для хранения пароля
  3. Сгенерируйте методы доступа (getter и setter) для атрибутов username и password.
  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

В этом шаге вы научитесь реализовать класс UserController для обработки запроса входа и использования объекта UserVO для приема параметров.

  1. Перейдите в пакет org.labex.controller и создайте новый Java-класс с именем UserController.
  2. Аннотируйте класс UserController с помощью @RestController, чтобы сделать его контроллером Spring MVC.
  3. Реализуйте метод с именем login(), который обрабатывает HTTP POST-запрос к конечной точке "/login".
  4. Аннотируйте метод login() с помощью @PostMapping("/login"), чтобы сопоставить его с конечной точкой "/login".
  5. Объявите один параметр для метода login(), который должен быть объектом UserVO.
  6. Внутри метода login() выведите полученный объект UserVO в консоль бэкэнда с использованием System.out.println().
  7. Возвращаемое значение - это имя пользователя из объекта UserVO в качестве ответа.

Ваш файл 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. Введите имя пользователя и пароль, затем нажмите кнопку "Войти".

  3. В консоли бэкэнда вы должны увидеть выведенный полученный объект UserVO, похожий на следующий вывод:

UserVO{username='taylorJoy', password='123'}
  1. Ответ от сервера должен быть именем пользователя, которое будет отображаться на веб-странице.

Поздравляем! Вы успешно реализовали проект JavaBean с несколькими параметрами.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.