У цьому підручнику ми збираємося розробляти зразки програм з JSP та використовуючи архітектуру MVC.
Наступні приклади програм будуть розроблені -
- Реєстраційний формуляр
- Форма входу та виходу
Використання реєстраційної форми через JSP
У реєстраційній формі ми матимемо форму для заповнення всіх даних, які будуть містити ім’я, ім’я користувача, пароль, адресу, контактний номер тощо.
Ця форма допоможе нам зареєструватися у заявці. Вони беруть усі наші дані та зберігають їх у базі даних або кеші.
У цьому прикладі ми збираємося взяти "форму реєстрації гуру", яка має такі поля:
- Ім'я
- Прізвище
- Ім'я користувача
- Пароль
- Адреса
- Контактний номер
Після заповнення всіх цих даних ми маємо кнопку подати, після натискання цієї кнопки всі деталі будуть збережені.
Зареєструватися_1.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Форма реєстрації гуру Форма реєстрації гуру
Пояснення коду:
Рядок коду 11: Тут ми приймаємо ім'я форми, яке має дію, тобто сервлет, до якого буде оброблений запит, і ім'я сервлета - guru_register.java. Запит буде оброблений методом POST.
Кодовий рядок 14-16: Тут ми беремо тип введення як текст, а ім’я - ім’я
Рядок коду 18-20: Тут ми беремо тип введення як текст, а ім’я - прізвище
Рядок коду 22-24: Тут ми беремо тип введення як текст, а ім’я - ім’я користувача
Кодовий рядок 26-28: Тут ми приймаємо тип введення як пароль (це буде приховувати пароль при введенні) і ім'я як пароль
Кодовий рядок 30-32: Тут ми беремо тип введення як текст, а ім'я як адресу
Кодовий рядок 34-36: Тут ми беремо тип введення як текст, а ім’я - як контакт
Код Рядок 37: Тут ми беремо кнопку типу submit, а значення також подаємо. Після натискання цієї кнопки дія переходить до відповідного сервлету guru_register, де всі значення параметрів будуть передані у запиті.
Guru_register.java
демотест пакету;імпортувати java.io.IOException;імпортувати javax.servlet.RequestDispatcher;імпортувати javax.servlet.ServletException;імпортувати javax.servlet.http.HttpServlet;імпортувати javax.servlet.http.HttpServletRequest;імпортувати javax.servlet.http.HttpServletResponse;/ *** Клас реалізації сервлету guru_register* /відкритий клас guru_register розширює HttpServlet {приватний статичний фінал long serialVersionUID = 1L;захищена порожнеча doPost (запит HttpServletRequest, відповідь HttpServletResponse) кидає ServletException, IOException {// Автоматично згенерований заглушок TODOРядок first_name = request.getParameter ("first_name");Рядок last_name = request.getParameter ("прізвище");Рядок username = request.getParameter ("ім'я користувача");Рядок password = request.getParameter ("пароль");Адреса рядка = request.getParameter ("адреса");Рядок contact = request.getParameter ("контакт");if (first_name.isEmpty () || last_name.isEmpty () || username.isEmpty () ||password.isEmpty () || address.isEmpty () || contact.isEmpty ()){RequestDispatcher req = request.getRequestDispatcher ("register_1.jsp");req.include (запит, відповідь);}ще{RequestDispatcher req = request.getRequestDispatcher ("register_2.jsp");req.forward (запит, відповідь);}}}
Пояснення коду:
Рядок коду 14: Тут ми визначаємо guru_servlet, який розширює HttpServlet.
Рядок коду 18: Цей метод дії doPost (), який буде викликаний, коли ми згадаємо POST в атрибуті дії у наведеній вище формі JSP.
Рядок коду 20-25: Тут ми отримуємо значення із запиту i.efirst_name, last_name, ім'я користувача, пароль, адреса та контакт, використовуючи request.getParameter.
Кодовий рядок 27-32: Тут ми беремо умову if, коли перевіряємо будь-який із параметрів, отриманих із запиту, чи порожні вони чи ні. Якщо будь-який параметр порожній, він введе цю умову (first_name.isEmpty () || last_name.isEmpty || username.isEmpty || password.isEmpty || address.isEmpty || contact.isEmpty ()) і ми маємо отримати об'єкт RequestDispatcher за допомогою об'єкта запиту, який переадресує запит до register_1.jsp. Тут ми також включаємо об'єкти запиту та відповіді.
Кодовий рядок 33-37: Цей випадок буде виконаний, коли будь-який з параметрів не порожній. Нам доведеться отримати об'єкт requestDispatcher за допомогою об'єкта запиту, який переадресовує запит до register_2.jsp.
Зареєструватися_2.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Сторінка успіху гуру Ласкаво просимо !!!!
Пояснення коду:
Рядок коду 10: Тут ми говоримо про бажаного користувача. Цей JSP буде викликаний, коли всі параметри будуть заповнені.
При виконанні наведеного вище коду ви отримуєте такий результат:
Вихід:
Коли ми натискаємо register_1.jsp, ми отримуємо форму, в якій будуть такі дані, як ім’я, прізвище, ім’я користувача, пароль, адреса, контакт. Всі деталі заповнені. Коли ми натискаємо кнопку "Відправити", ми отримуємо повідомлення "Привітальний користувач"
Форма входу та виходу
Як і реєстраційна форма, ми матимемо форму для входу та виходу.
У цьому прикладі ми взяли форму для входу, де у нас є два поля "ім'я користувача" та "пароль" із кнопкою подання.
Коли ми натискаємо кнопку «Відправити», ми отримуємо привітальне повідомлення з кнопкою виходу.
Коли ми натискаємо кнопку виходу, ми повертаємось до форми входу.
Register_3.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Форма для входу в гуру
Пояснення коду:
Рядок коду 10: Тут ми беремо назву форми, яка має дію, тобто сервлет, якому він перейшов, є guru_login.java. Метод, за допомогою якого він пройде свій POST.
Рядок коду 13-16: Тут ми беремо поле введення "ім'я користувача", яке має текст типу.
Кодовий рядок 17-20: Тут ми беремо поле введення "пароль", яке має тип пароля.
Рядок коду 22: Тут ми беремо кнопку "надіслати" зі значенням "Вхід", на якій ми натискаємо, а потім переходить до сервлету guru_login, де обидва поля беруться за допомогою об'єкта запиту.
Guru_login.java (сервлет)
демотест пакету;імпортувати java.io.IOException;імпортувати javax.servlet.RequestDispatcher;імпортувати javax.servlet.ServletException;імпортувати javax.servlet.http.HttpServlet;імпортувати javax.servlet.http.HttpServletRequest;імпортувати javax.servlet.http.HttpServletResponse;/ *** Клас реалізації сервлету guru_login* /публічний клас guru_login розширює HttpServlet {public guru_login () {супер ();// TODO Автогенерована заглушка конструктора}захищена порожнеча doPost (запит HttpServletRequest, відповідь HttpServletResponse) кидає ServletException, IOException {// Автоматично згенерований заглушок TODOРядок username = request.getParameter ("ім'я користувача");Рядок password = request.getParameter ("пароль");if (username.isEmpty () || password.isEmpty ()){RequestDispatcher req = request.getRequestDispatcher ("register_3.jsp");req.include (запит, відповідь);}ще{RequestDispatcher req = request.getRequestDispatcher ("register_4.jsp");req.forward (запит, відповідь);}}}
Пояснення коду:
Рядок коду 5-9: Тут ми імпортуємо необхідний імпорт у коді.
Код, рядок 14: Тут ми беремо сервлет guru_login, який розширює HttpServlet.
Рядок коду 21: Тут ми використовуємо метод doPost (), як і у формі, що ми використовуємо метод POST.
Кодовий рядок 23-24: Тут ми беремо параметри, використовуючи об'єкт запиту, тобто ім'я користувача та пароль.
Кодовий рядок 25-29: Таким чином, ми приймаємо умову "якщо", коли ми перевіряємо ім'я користувача та пароль, порожні вони чи ні. У цьому випадку, якщо вони порожні, ми отримуємо об'єкт requestdispatcher, який пересилає до register_3.jsp з об'єктами запиту та відповіді.
Кодовий рядок 30-34: Це буде виконано, якщо обидва поля не порожні, тоді він перенаправляє запит до register_4.jsp з об'єктами запиту та відповіді.
Register_4.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Гуру увійшов
<% String username = request.getParameter ("ім'я користувача"); %> Ласкаво просимо <% out.println (ім'я користувача); %> Користувач !!!! Ви ввійшли в систему. | ||
Вийти < / td> |
Пояснення коду:
Рядок коду 12: Тут ми отримуємо параметр "ім'я користувача" від об'єкта запиту в імені користувача рядкового об'єкта.
Кодовий рядок 13: Тут ми маємо привітальне повідомлення з іменем користувача.
Рядок коду 14: Тут ми посилаємося для виходу з форми, яка переспрямовує на register_3.jsp.
Коли ви виконуєте наведений вище код, ви отримуєте такий результат:
Вихід:
Тут, коли ми натискаємо на register_3.jsp, ми отримуємо два поля "ім'я користувача" та "пароль" за допомогою кнопки входу.
Після натискання кнопки Вхід ви отримуєте повідомлення нижче з кнопкою Вийти.
Після натискання кнопки виходу ви повертаєтесь на сторінку входу