W tym samouczku będziemy tworzyć przykładowe programy z wykorzystaniem JSP i architekturą MVC.
Zostaną opracowane następujące przykłady programów:
- Formularz rejestracyjny
- Formularz logowania i wylogowania
Korzystanie z formularza rejestracyjnego przez JSP
W formularzu rejestracyjnym będziemy mieli formularz do wypełnienia wszystkich danych, które będą zawierały imię i nazwisko, nazwę użytkownika, hasło, adres, numer kontaktowy itp.
Ten formularz pomoże nam zarejestrować się w aplikacji. Pobierają wszystkie nasze dane i przechowują je w bazie danych lub pamięci podręcznej.
W tym przykładzie weźmiemy „Formularz rejestracji guru”, który zawiera następujące pola:
- Imię
- Nazwisko
- Nazwa Użytkownika
- Hasło
- Adres
- Numer kontaktowy
Po wypełnieniu wszystkich tych danych mamy przycisk przesyłania, po kliknięciu tego przycisku wszystkie szczegóły zostaną zapisane.
Register_1.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Formularz rejestracyjny guru Formularz rejestracji guru
Wyjaśnienie kodu:
Linia kodu 11: Tutaj bierzemy nazwę formularza, która ma akcję, tj. Serwlet, do którego będzie przetwarzane żądanie, a nazwa serwletu to guru_register.java. Żądanie zostanie przetworzone metodą POST.
Linia kodu 14-16: Tutaj bierzemy typ danych wejściowych jako tekst, a nazwa to imię
Linia kodu 18-20: Tutaj bierzemy typ danych wejściowych jako tekst, a nazwa to nazwisko
Linia kodu 22-24: Tutaj bierzemy typ danych wejściowych jako tekst, a nazwa to nazwa użytkownika
Linia kodu 26-28: Tutaj bierzemy typ danych wejściowych jako hasło (spowoduje to ukrycie hasła po wpisaniu) i nazwę jako hasło
Linia kodu 30-32: Tutaj bierzemy typ danych wejściowych jako tekst i nazwę jako adres
Linia kodu 34-36: Tutaj bierzemy typ danych wejściowych jako tekst i nazwę jako kontakt
Linia kodu 37: Tutaj bierzemy przycisk typu wyślij, a wartość jest również przesyłana. Po kliknięciu tego przycisku akcja przejdzie do odpowiedniego serwletu guru_register, gdzie wszystkie wartości parametrów zostaną przekazane w żądaniu.
Guru_register.java
pakiet demotest;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/ *** Klasa implementacji serwletu guru_register* /public class guru_register rozszerza HttpServlet {prywatne statyczne końcowe długie serialVersionUID = 1L;protected void doPost (żądanie HttpServletRequest, odpowiedź HttpServletResponse) throws ServletException, IOException {// TODO Automatycznie wygenerowany kod pośredniczący metodyString first_name = request.getParameter ("first_name");String last_name = request.getParameter ("last_name");String nazwa_użytkownika = request.getParameter ("nazwa użytkownika");String password = request.getParameter ("hasło");String address = request.getParameter ("adres");String contact = request.getParameter ("kontakt");if (first_name.isEmpty () || last_name.isEmpty () || username.isEmpty () ||password.isEmpty () || address.isEmpty () || contact.isEmpty ()){RequestDispatcher req = request.getRequestDispatcher ("register_1.jsp");req.include (żądanie, odpowiedź);}jeszcze{RequestDispatcher req = request.getRequestDispatcher ("register_2.jsp");req.forward (żądanie, odpowiedź);}}}
Wyjaśnienie kodu:
Code Line 14: Tutaj definiujemy guru_servlet, który rozszerza HttpServlet.
Code Line 18: Ta metoda działania doPost (), która zostanie wywołana, gdy wspomnimy o atrybucie POST w akcji w powyższym formularzu JSP.
Linia kodu 20-25: Tutaj pobieramy wartości z żądania i.efirst_name, last_name, nazwa użytkownika, hasło, adres i kontakt za pomocą request.getParameter.
Linia kodu 27-32: Tutaj bierzemy warunek if, w którym sprawdzamy, czy parametry, które są pobierane z żądania, są puste, czy nie. Jeśli którykolwiek z parametrów jest pusty, to przejdzie do tego warunku (first_name.isEmpty () || last_name.isEmpty || username.isEmpty || password.isEmpty || address.isEmpty || contact.isEmpty ()) i mamy aby pobrać obiekt RequestDispatcher przy użyciu obiektu żądania, który przekaże żądanie do register_1.jsp. W tym miejscu uwzględniamy również obiekty żądań i odpowiedzi.
Linia kodu 33-37: Ten przypadek zostanie wykonany, gdy którykolwiek z parametrów nie będzie pusty. Będziemy musieli pobrać obiekt requestDispatcher za pomocą obiektu żądania, który przekieruje żądanie do register_2.jsp. Tutaj przekazujemy obiekty żądań i odpowiedzi.
Register_2.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Strona sukcesu guru Witaj użytkowniku !!!!
Wyjaśnienie kodu:
Linia kodu 10: Tutaj mówimy witaj użytkownika. Ta strona JSP zostanie wywołana, gdy wszystkie parametry zostaną wypełnione.
Po wykonaniu powyższego kodu otrzymasz następujące dane wyjściowe:
Wynik:
Kiedy klikniemy register_1.jsp, otrzymamy formularz, który będzie zawierał takie szczegóły, jak imię, nazwisko, nazwa użytkownika, hasło, adres, kontakt. Wszystkie szczegóły zostały wypełnione. Po kliknięciu przycisku przesyłania otrzymujemy wiadomość „Witaj użytkowniku”
Formularz logowania i wylogowania
Podobnie jak formularz rejestracyjny, będziemy mieć formularz logowania i wylogowania.
W tym przykładzie przyjęliśmy formularz logowania, w którym mamy dwa pola „nazwa użytkownika” i „hasło” z przyciskiem przesyłania.
Po kliknięciu przycisku przesyłania otrzymujemy wiadomość powitalną z przyciskiem wylogowania.
Po kliknięciu przycisku wylogowania wracamy do formularza logowania.
Register_3.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Formularz logowania guru
Wyjaśnienie kodu:
Linia kodu 10: Tutaj bierzemy nazwę formularza, która ma akcję, tj. Serwlet, do którego został przekazany, to guru_login.java. Metoda, za pomocą której będzie przekazywać swój POST.
Linia kodu 13-16: Tutaj bierzemy pole wejściowe „nazwa użytkownika”, które jest typu tekstowego.
Linia kodu 17-20: Tutaj bierzemy pole wejściowe „hasło”, które jest typem hasła.
Linia kodu 22: Tutaj bierzemy przycisk "wyślij" z wartością "Login", na który klikamy, a następnie przechodzi do serwletu guru_login, gdzie oba pola są pobierane za pomocą obiektu żądania.
Guru_login.java (serwlet)
pakiet demotest;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/ *** Klasa implementacji serwletu guru_login* /public class guru_login rozszerza HttpServlet {public guru_login () {Wspaniały();// TODO Automatycznie wygenerowany kod konstruktora}protected void doPost (żądanie HttpServletRequest, odpowiedź HttpServletResponse) throws ServletException, IOException {// TODO Automatycznie wygenerowany kod pośredniczący metodyString nazwa_użytkownika = request.getParameter ("nazwa użytkownika");String password = request.getParameter ("hasło");if (nazwa użytkownika.isEmpty () || hasło.isEmpty ()){RequestDispatcher req = request.getRequestDispatcher ("register_3.jsp");req.include (żądanie, odpowiedź);}jeszcze{RequestDispatcher req = request.getRequestDispatcher ("register_4.jsp");req.forward (żądanie, odpowiedź);}}}
Wyjaśnienie kodu:
Linia kodu 5-9: Tutaj importujemy niezbędne importy w kodzie.
Linia kodu 14: Tutaj bierzemy serwlet guru_login, który rozszerza HttpServlet.
Linia kodu 21: Tutaj używamy metody doPost (), tak jak w formularzu używamy metody POST.
Linia kodu 23-24: Tutaj pobieramy parametry za pomocą obiektu żądania, tj. Nazwy użytkownika i hasła.
Linia kodu 25-29: W ten sposób bierzemy warunek "if", w którym sprawdzamy nazwę użytkownika i hasło, czy są puste, czy nie. W tym przypadku, jeśli jest puste, otrzymujemy obiekt requestdispatcher, który przekazuje do register_3.jsp z obiektami żądań i odpowiedzi.
Linia kodu 30-34: zostanie wykonana, jeśli oba nie są puste, a następnie przekazuje żądanie do register_4.jsp z obiektami żądania i odpowiedzi.
Register_4.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru zalogowany
<% String nazwa_użytkownika = request.getParameter ("nazwa użytkownika"); %> Witamy <% out.println (nazwa użytkownika); %> Użytkownik !!!! Jesteś zalogowany. | ||
Wyloguj się < / td> |
Wyjaśnienie kodu:
Linia kodu 12: Tutaj otrzymujemy parametr "nazwa użytkownika" z obiektu żądania w nazwie użytkownika obiektu łańcuchowego.
Linia kodu 13: Tutaj mamy wiadomość powitalną z nazwą użytkownika.
Linia kodu 14: Tutaj łączymy się z wylogowaniem z formularza, który przekierowuje do register_3.jsp.
Po wykonaniu powyższego kodu otrzymasz następujące dane wyjściowe:
Wynik:
Tutaj po kliknięciu register_3.jsp otrzymujemy dwa pola „nazwa użytkownika” i „hasło” z przyciskiem logowania.
Po kliknięciu przycisku Zaloguj się pojawi się poniższy komunikat z przyciskiem Wyloguj.
Kliknięcie przycisku wylogowania powoduje powrót do strony logowania