Exemple de programe JSP: Formular de înregistrare și autentificare

jsp exemple de programe

În acest tutorial, vă voi ghida prin dezvoltarea de exemple de programe cu JSP și implementarea arhitecturii MVC în acest tutorial.

Următoarele exemple de programe vor fi dezvoltate:

  • Formular de înregistrare
  • Formular de autentificare și deconectare
  • Formularul JSP

Folosind formularul de înregistrare prin JSP

În Formularul de înregistrare, vom avea un formular pentru a completa toate detaliile care vor conține nume, nume de utilizator, parolă, adresă, număr de contact etc.

Acest formular ne va ajuta să ne înregistrăm în aplicație. Ei iau toate detaliile noastre și le stochează într-un Baza de date sau cache.

În acest exemplu, vom lua „Formular de înregistrare Guru” care are următoarele câmpuri:

  1. Prenume
  2. Nume
  3. Nume de utilizator
  4. Parolă
  5. Adresă
  6. A lua legatura cu Numar

După completarea tuturor acestor detalii avem butonul de trimitere, la clic pe acel buton toate detaliile vor fi stocate.

Exemplul 1: Register_1.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Registration Form</title>
</head>
<body>
<h1>Guru Register Form</h1>
<form action="guru_register" method="post">
			<table style="with: 50%">
				<tr>
					<td>First Name</td>
					<td><input type="text" name="first_name" /></td>
				</tr>
				<tr>
					<td>Last Name</td>
					<td><input type="text" name="last_name" /></td>
				</tr>
				<tr>
					<td>UserName</td>
					<td><input type="text" name="username" /></td>
				</tr>
					<tr>
					<td>Password</td>
					<td><input type="password" name="password" /></td>
				</tr>
				<tr>
					<td>Address</td>
					<td><input type="text" name="address" /></td>
				</tr>
				<tr>
					<td>Contact No</td>
					<td><input type="text" name="contact" /></td>
				</tr></table>
			<input type="submit" value="Submit" /></form>
</body>
</html>

Explicația codului:

Linia de cod 11: Aici luăm un nume de formular care are acțiune, adică servletul la care va fi procesată cererea și numele servlet-ului este guru_register.java. Solicitarea va fi procesată prin metoda POST.

Linia de cod 14-16: Aici luăm tipul de intrare ca text și numele este prenumele

Linia de cod 18-20: Aici luăm tipul de intrare ca text și numele este numele de familie

Linia de cod 22-24: Aici luăm tipul de intrare ca text și numele este numele de utilizator

Linia de cod 26-28: Aici luăm tipul de intrare ca parolă (aceasta va ascunde parola când este introdusă) și numele ca parolă

Linia de cod 30-32: Aici luăm tipul de intrare ca text și numele ca adresă

Linia de cod 34-36: Aici luăm tipul de intrare ca text și numele ca contact

Linia de cod 37: Aici luăm un buton de tip submit și valoarea este, de asemenea, submit. Făcând clic pe acest buton, acțiunea va merge la servlet-ul corespunzător guru_register unde toate valorile parametrilor vor fi transmise în cerere.

Exemplul 2: Guru_register.java

package 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;

/**
 * Servlet implementation class guru_register
 */
public class guru_register extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String first_name = request.getParameter("first_name");
		String last_name = request.getParameter("last_name");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String address = request.getParameter("address");
		String contact = request.getParameter("contact");
		
		if(first_name.isEmpty() || last_name.isEmpty() || username.isEmpty() || 
				password.isEmpty() || address.isEmpty() || contact.isEmpty())
		{
			RequestDispatcher req = request.getRequestDispatcher("register_1.jsp");
			req.include(request, response);
		}
		else
		{
			RequestDispatcher req = request.getRequestDispatcher("register_2.jsp");
			req.forward(request, response);
		}
	}

}

Explicația codului:

Linia de cod 14: Aici definim guru_servlet care extinde HttpServlet.

Linia de cod 18: Această acțiune doPost() metoda care va fi apelată când menționăm atributul POST în acțiune în forma JSP de mai sus.

Linia de cod 20-25: Aici preluăm valorile de la cerere i.efirst_name, last_name , username, parola, adresa și contact folosind request.getParameter.

Linia de cod 27-32: Aici luăm condiția if în care verificăm oricare dintre parametrii care sunt preluați de la cerere, dacă sunt gol sau nu. Dacă vreunul dintre parametrii este gol, atunci va introduce această condiție ( first_name.isEmpty() || last_name.isEmpty || username.isEmpty || parola.isEmpty || adresa.isEmpty || contact.isEmpty()) și avem pentru a prelua obiectul RequestDispatcher folosind obiectul request care va trimite cererea către register_1.jsp. Aici includem și obiecte de cerere și răspuns.

Linia de cod 33-37: Acest caz se va executa atunci când oricare dintre parametrii nu este gol. Va trebui să preluăm obiectul requestDispatcher folosind obiectul request care va trimite cererea către register_2.jsp. Aici redirecționăm obiectele de cerere și răspuns.

Exemplul 3: Register_2.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success Page</title>
</head>
<body>
           <a><b>Welcome User!!!!</b></a>
</body>
</html>

Explicația codului:

Linia de cod 10: Aici spunem bun venit utilizator. Acest JSP va fi apelat când toți parametrii sunt completați.

Când executați codul de mai sus, obțineți următoarea ieșire:

Folosind formularul de înregistrare prin JSP

Folosind formularul de înregistrare prin JSP

ieșire:

Când facem clic pe register_1.jsp, vom primi un formular care va avea detalii precum prenume, prenume, nume de utilizator, parolă, adresă, contact. Toate detaliile au fost completate. Când facem clic pe butonul de trimitere, primim mesajul „Bun venit utilizator”

Formular de autentificare și deconectare

Ca și formularul de înregistrare, vom avea un formular de conectare și deconectare.

În acest exemplu, am luat formularul de autentificare unde avem două câmpuri „nume utilizator” și „parolă” cu un buton de trimitere.

Când facem clic pe butonul de trimitere, primim un mesaj de bun venit cu un buton de deconectare.

Când facem clic pe butonul de deconectare, revenim la formularul de autentificare.

Exemplul 1: Register_3.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Login Form</title>
</head>
<body>
<form action="guru_login" method="post">
		<table style="with: 50%">

			<tr>
				<td>UserName</td>
				<td><input type="text" name="username" /></td>
			</tr>
				<tr>
				<td>Password</td>
				<td><input type="password" name="password" /></td>
			</tr>
		</table>
		<input type="submit" value="Login" /></form>
</body>
</html>

Explicația codului:

Linia de cod 10: Aici luăm un nume de formular care are acțiune, adică servlet-ul la care a trecut este guru_login.java. Metoda prin care își va trece POST.

Linia de cod 13-16: Aici luăm un câmp de introducere „nume utilizator” care este de tipul text.

Linia de cod 17-20: Aici luăm un câmp de introducere „parolă” care este de tipul parolă.

Linia de cod 22: Aici luăm un buton „submit” cu valoarea „Login” pe care facem clic, apoi merge la servlet guru_login unde ambele câmpuri sunt preluate folosind obiectul de solicitare.

Guru_login.java(servlet)

package 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;

/**
 * Servlet implementation class guru_login
 */
public class guru_login extends HttpServlet {

    public guru_login() {
        super();
        // TODO Auto-generated constructor stub
    }

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		if(username.isEmpty() || password.isEmpty() )
		{
			RequestDispatcher req = request.getRequestDispatcher("register_3.jsp");
			req.include(request, response);
		}
		else
		{
			RequestDispatcher req = request.getRequestDispatcher("register_4.jsp");
			req.forward(request, response);
		}
	}

}

Explicația codului:

Linia de cod 5-9: Aici importăm importurile necesare în cod.

Linia de cod 14: Aici luăm servlet guru_login care extinde HttpServlet.

Linia de cod 21: Aici folosim doPost() metoda ca în forma în care folosim metoda POST.

Linia de cod 23-24: Aici luăm parametri folosind obiectul de solicitare, adică numele de utilizator și parola.

Linia de cod 25-29: În acest fel, luăm condiția „dacă” în care verificăm numele de utilizator și parola dacă sunt goale sau nu. În acest caz, dacă este goală, atunci primim obiectul requestdispatcher care redirecționează către register_3.jsp cu obiecte de cerere și răspuns.

Linia de cod 30-34: Acest lucru va fi executat dacă ambele nu sunt goale, atunci trimite cererea către register_4.jsp cu obiecte de cerere și răspuns.

Exemplul 2: Register_4.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Logged In</title>
</head>
<body>
	<table style="with: 50%">
	<tr><td>
	<% String username = request.getParameter("username"); %>
<a>Welcome   <% out.println(username); %> User!!!! You have logged in.</a></td></tr>
<tr></tr><tr><td></td><td></td><td><a href="register_3.jsp"><b>Logout</b></a></td></tr>
</table>
</body>
</html>

Explicația codului:

Linia de cod 12: Aici obținem parametrul „nume de utilizator” de la obiectul de solicitare din numele de utilizator al obiectului șir.

Linia de cod 13: Aici avem un mesaj de bun venit cu numele de utilizator.

Linia de cod 14: Aici punem link pentru a deconecta formularul care redirecționează către register_3.jsp.

Când executați codul de mai sus, obțineți următoarea ieșire:

ieșire:

Aici, când facem clic pe register_3.jsp, obținem două câmpuri „nume utilizator” și „parolă” cu un buton de conectare.

Formular de autentificare și deconectare

După ce faceți clic pe butonul Autentificare, veți primi mesajul de mai jos cu un buton de Deconectare.

Formular de autentificare și deconectare

Când faceți clic pe butonul de deconectare, vă întoarceți la pagina de conectare

Formular de autentificare și deconectare

Procesare formular JSP folosind getParameter()

Procesare formular JSP:

Formularele sunt metoda comună în procesarea web. Trebuie să trimitem informații către serverul web și acele informații.

Există două metode frecvent utilizate pentru a trimite și a obține înapoi informații către serverul web.

Metoda GET:

  • Aceasta este metoda implicită de a transmite informații de la browser la serverul web.
  • Acesta trimite informațiile codificate separate prin ?caracter atașat la pagina URL.
  • De asemenea, are o limitare de dimensiune și putem trimite doar 1024 de caractere în cerere.
  • Ar trebui să evităm să trimitem parole și informații sensibile prin metoda GET.

Metoda POST:

  • Metoda Post este cea mai fiabilă metodă de trimitere a informațiilor către server.
  • Trimite informații ca mesaj separat.
  • Se trimite ca șir de text după ?în adresa URL.
  • Este folosit în mod obișnuit pentru a trimite informații care sunt sensibile.

JSP se ocupă de prelucrarea datelor din formular folosind următoarele metode:

  1. getParameter(): Este folosit pentru a obține valoarea parametrului formular.
  2. getParameterValues(): Este folosit pentru a returna valorile multiple ale parametrilor.
  3. getParameterNames(): Este folosit pentru a obține numele parametrilor.
  4. getInputStream(): Este folosit pentru a citi datele binare trimise de client.

Exemplu:

În acest exemplu, am luat un formular cu două câmpuri „nume utilizator” și „parolă” cu un buton de trimitere

Action_form.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Form</title>
</head>
<body>
<form action="action_form_process.jsp" method="GET">
UserName: <input type="text" name="username">
<br />
Password: <input type="text" name="password" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Action_form_process.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<h1>Form Processing</h1>

<p><b>Welcome User:</b>
   <%= request.getParameter("username")%>
</p>

</body>
</html>

Explicația codului: Action_form.jsp

Linia de cod 10: Aici am definit o formă și prin care am procesat acțiunea către altcineva JSP. În parametrul de acțiune, adăugăm acel JSP la care trebuie procesat prin metoda GET.

Aici folosim metoda GET pentru a transmite informațiile, adică numele de utilizator și parola.

Linia de cod 11-14: Aici luăm câmpuri precum numele de utilizator și parola, care sunt câmpuri de text și primim intrarea de la utilizator.

Această intrare poate fi preluată folosind metoda getParameter. De asemenea, avem un buton de trimitere cu tipul de tip de trimitere care ne ajută să transmitem valorile câmpului în action_form_process.jsp

Action_form_process.jsp

Linia de cod 14: Aici obținem valorile câmpurilor de intrare din action_form.jsp folosind metoda getParameter a obiectului de solicitare.

Când executăm codul de mai sus, obținem următoarea ieșire:

Procesare formular JSP

Procesare formular JSP

ieșire:

Când executăm action_form.jsp, obținem un formular cu două câmpuri nume de utilizator și parolă și un buton de trimitere. Apoi, după introducerea numelui de utilizator și a parolei, putem face clic pe trimitere și se procesează la pagina următoare, care dă rezultate ca pagină de procesare a formularului cu un mesaj de intampinare.

Rezumați această postare cu: