Введение
В этом проекте вы научитесь реализовывать функцию проверки входа с использованием AJAX и передачи данных в формате JSON. Проект включает в себя создание формы входа, обработку отправки формы с использованием AJAX и проверку учетных данных пользователя на стороне сервера.
👀 Предварительный просмотр

🎯 Задачи
В этом проекте вы научитесь:
- Как подготовить окружение проекта и настроить необходимые файлы и зависимости.
- Как реализовать форму входа на странице
AjaxJson.jspс использованием HTML. - Как обработать отправку формы входа с использованием jQuery и AJAX.
- Как упаковать данные входа в формате JSON и отправить их на сервер.
- Как получать и обрабатывать JSON-ответ от сервера для определения статуса входа.
- Как перенаправить пользователя на соответствующую страницу в зависимости от результата входа.
🏆 Достижения
После завершения этого проекта вы сможете:
- Использовать AJAX для отправки данных на сервер без полной перезагрузки страницы.
- Работать с форматом данных JSON для передачи данных между клиентом и сервером.
- Обрабатывать отправку формы и проверку ввода пользователя на стороне клиента.
- Обрабатывать ответ сервера и обновлять пользовательский интерфейс соответственно.
- Интегрировать компоненты клиентской и серверной сторон для создания полной функции проверки входа.
Подготовить окружение проекта
В этом шаге вы научитесь настраивать окружение проекта. Следуйте шагам ниже, чтобы выполнить этот шаг:
Откройте среду лаборатории и перейдите в каталог
AjaxJsonProjectс использованием следующей команды:cd AjaxJsonProject/AjaxJsonProjectЗапустите сервер Tomcat с использованием следующей команды:
mvn tomcat7:runПереключитесь на вкладку Web 8080 выше среды, чтобы увидеть, как проект запущен.
Реализовать форму входа
В этом шаге вы научитесь реализовывать форму входа на странице AjaxJson.jsp. Следуйте шагам ниже, чтобы выполнить этот шаг:
Откройте файл
AjaxJson.jspв каталогеAjaxJsonProject/AjaxJsonProject/src/main/webapp.Добавьте следующий HTML-код, чтобы создать форму входа:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login Form</title> </head> <body> <h2>Login Form</h2> <form id="loginForm"> <label for="userName">Username:</label> <input type="text" id="userName" name="userName"><br><br> <label for="userPwd">Password:</label> <input type="password" id="userPwd" name="userPwd"><br><br> <input type="submit" value="Login"> </form> </body> </html>Включите библиотеку jQuery, добавив следующую тег-скрипт в раздел
<head>:<script src="https://cdn.staticfile.org/jquery/1.12.4/jquery.min.js"></script>
Обработать отправку формы входа с использованием AJAX
В этом шаге вы научитесь обрабатывать отправку формы входа с использованием AJAX. Следуйте шагам ниже, чтобы выполнить этот шаг:
Добавьте следующий JavaScript-код внутри тегов
<script>в файлеAjaxJson.jsp:<script> $(document).ready(function(){ $("#loginForm").submit(function(event){ // Предотвратить стандартное поведение отправки формы event.preventDefault(); // Получить введенное имя пользователя и пароль var $userName = $("#userName").val(); var $userPwd = $("#userPwd").val(); // Проверить, пусты ли имя пользователя и пароль if($userName.trim() === "" || $userPwd.trim() === ""){ alert("Username and password cannot be empty"); return; } // Упаковать данные для отправки в формате JSON var data = { "u_name": $userName, "u_pwd": $userPwd }; // Отправить AJAX-запрос $.ajax({ type: "POST", url: "/AJAXJSONLoginServlet", contentType: "application/json", data: JSON.stringify(data), dataType: "json", success: function(response){ // Проверить, был ли вход успешным на основе возвращенных данных if(response.code === 200){ alert("Login successful"); // Перенаправить на index.jsp после успешного входа window.location.href = "index.jsp"; } else { alert("Incorrect username or password"); } }, error: function(xhr, status, error){ console.error("AJAX request failed: " + status + ", " + error); } }); }); }); </script>Этот код обрабатывает отправку формы, предотвращая стандартное поведение формы, получая введенное имя пользователя и пароль и отправляя AJAX-запрос на конечную точку
/AJAXJSONLoginServlet.Бэкенд вернет JSON-ответ с свойством
code. Если код равен 200, вход успешен, и пользователь перенаправляется на страницуindex.jsp. Если код не равен 200, вход не удался, и отображается сообщение об ошибке.
Тестировать функциональность входа
Запустите сервер Tomcat с помощью команды
mvn tomcat7:run, если он еще не запущен.Откройте вкладку Web 8080 выше среды, чтобы увидеть, как проект работает. При повторном запуске необходимо обновить страницу.
Введите действительное имя пользователя и пароль, затем нажмите кнопку "Login".
Если вход успешен, вы должны увидеть сообщение об уведомлении "Login successful" и быть перенаправленным на страницу
index.jsp.Если вход не удался, вы должны увидеть сообщение об уведомлении "Incorrect username or password".
Поздравляем! Вы успешно реализовали функцию проверки входа с использованием AJAX и передачи данных в формате JSON.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



