Beispiele für JSP-Programme: Registrierungs- und Anmeldeformular

JSP-Beispielprogramme

In diesem Tutorial führe ich Sie durch die Entwicklungping In diesem Tutorial finden Sie Beispielprogramme mit JSP und zur Implementierung der MVC-Architektur.

Folgende Programmbeispiele werden entwickelt:

  • Anmeldeformular
  • Anmelde- und Abmeldeformular
  • JSP-Formular

Verwendung des Registrierungsformulars über JSP

Im Registrierungsformular haben wir ein Formular, in das Sie alle Details eintragen können, darunter Name, Benutzername, Passwort, Adresse, Kontaktnummer usw.

Dieses Formular hilft uns bei der Registrierung bei der Anwendung. Sie nehmen alle unsere Daten auf und speichern sie in einem Datenbank oder Cache.

In diesem Beispiel werden wir „Guru Anmeldeformular mit folgenden Feldern:

  1. Vorname
  2. Nachname
  3. Benutzername
  4. Passwort
  5. Adresse
  6. Telefon Nummer

Nachdem Sie alle diese Angaben eingegeben haben, wird eine Schaltfläche „Senden“ angezeigt. Wenn Sie auf diese Schaltfläche klicken, werden alle Angaben gespeichert.

Beispiel 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>

Erklärung des Codes:

Code Linie 11: Hier nehmen wir einen Formularnamen, der eine Aktion hat, dh das Servlet, an das die Anfrage verarbeitet wird, und der Servletname ist guru_register.java. Die Anfrage wird über die POST-Methode verarbeitet.

Code Zeile 14-16: Hier verwenden wir als Eingabetyp „Text“ und „Name“ ist der Vorname

Code Zeile 18-20: Hier verwenden wir als Eingabetyp „Text“ und „Name“ ist der Nachname

Code Zeile 22-24: Hier verwenden wir den Eingabetyp als Text und den Namen als Benutzernamen

Code Zeile 26-28: Hier verwenden wir den Eingabetyp als Passwort (dadurch wird das Passwort bei der Eingabe ausgeblendet) und den Namen als Passwort

Code Zeile 30-32: Hier verwenden wir als Eingabetyp den Text und den Namen als Adresse

Code Zeile 34-36: Hier verwenden wir als Eingabetyp den Text und den Namen als Kontakt

Code Linie 37: Hier nehmen wir eine Schaltfläche vom Typ „Senden“ und der Wert ist ebenfalls „Senden“. Wenn Sie auf diese Schaltfläche klicken, wird die Aktion zum entsprechenden guru_register-Servlet weitergeleitet, wo alle Parameterwerte in der Anfrage übergeben werden.

Beispiel 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);
		}
	}

}

Erklärung des Codes:

Code Linie 14: Hier definieren wir guru_servlet, das HttpServlet erweitert.

Code Linie 18: Diese Aktion doPost() Methode, die aufgerufen wird, wenn wir POST im Aktionsattribut im obigen JSP-Formular erwähnen.

Code Zeile 20-25: Hier rufen wir die Werte aus der Anfrage i.efirst_name, last_name , Benutzername, Passwort, Adresse und Kontakt mit request.getParameter ab.

Code Zeile 27-32: Hier verwenden wir eine if-Bedingung, bei der wir alle von der Anfrage abgerufenen Parameter daraufhin überprüfen, ob sie leer sind oder nicht. Wenn einer der Parameter leer ist, tritt dieser Zustand ein ( Vorname.isEmpty() || Nachname.isEmpty || Benutzername.isEmpty || Passwort.isEmpty || Adresse.isEmpty || Kontakt.isEmpty()) und wir haben um das RequestDispatcher-Objekt mithilfe des Anforderungsobjekts abzurufen, das die Anforderung an register_1.jsp weiterleitet. Hier beziehen wir auch Anforderungs- und Antwortobjekte ein.

Code Zeile 33-37: Dieser Fall wird ausgeführt, wenn einer der Parameter nicht leer ist. Wir müssen das requestDispatcher-Objekt mithilfe des Anforderungsobjekts abrufen, das die Anforderung an register_2.jsp weiterleitet. Hier leiten wir Anforderungs- und Antwortobjekte weiter.

Beispiel 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>

Erklärung des Codes:

Code Linie 10: Hier heißen wir willkommener Benutzer. Diese JSP wird aufgerufen, wenn alle Parameter gefüllt sind.

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:

Verwenden des Registrierungsformulars über JSP

Verwenden des Registrierungsformulars über JSP

Ausgang:

Wenn wir auf register_1.jsp klicken, erhalten wir ein Formular mit Angaben wie Vorname, Nachname, Benutzername, Passwort, Adresse und Kontakt. Alle Angaben wurden ausgefüllt. Wenn wir auf die Schaltfläche „Senden“ klicken, erhalten wir die Meldung „Willkommen, Benutzer“.

Anmelde- und Abmeldeformular

Wie beim Registrierungsformular verfügen wir auch über ein Anmelde- und Abmeldeformular.

In diesem Beispiel haben wir ein Anmeldeformular verwendet, in dem wir zwei Felder „Benutzername“ und „Passwort“ mit einer Schaltfläche zum Senden haben.

Wenn wir auf die Schaltfläche „Senden“ klicken, erhalten wir eine Willkommensnachricht mit einer Schaltfläche zum Abmelden.

Wenn wir auf die Schaltfläche „Abmelden“ klicken, kehren wir zum Anmeldeformular zurück.

Beispiel 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>

Erklärung des Codes:

Code Linie 10: Hier nehmen wir einen Formularnamen, der eine Aktion hat, dh das Servlet, an das es übergeben wurde, ist guru_login.java. Die Methode, über die der POST weitergeleitet wird.

Code Zeile 13-16: Hier nehmen wir ein Eingabefeld „Benutzername“, das vom Typ Text ist.

Code Zeile 17-20: Hier nehmen wir ein Eingabefeld „Passwort“, das vom Typ Passwort ist.

Code Linie 22: Hier nehmen wir eine „Senden“-Schaltfläche mit dem Wert „Anmelden“, auf die wir klicken, dann geht es zum Servlet guru_login, wo beide Felder mithilfe des Anforderungsobjekts übernommen werden.

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);
		}
	}

}

Erklärung des Codes:

Code Zeile 5-9: Hier importieren wir notwendige Importe in den Code.

Code Linie 14: Hier nehmen wir das Servlet guru_login, das HttpServlet erweitert.

Code Linie 21: Hier verwenden wir doPost() Methode, da wir im Formular die POST-Methode verwenden.

Code Zeile 23-24: Hier verwenden wir Parameter mithilfe des Anforderungsobjekts, z. B. Benutzername und Passwort.

Code Zeile 25-29: Auf diese Weise verwenden wir die „Wenn“-Bedingung, bei der wir den Benutzernamen und das Passwort prüfen, ob sie leer sind oder nicht. In diesem Fall erhalten wir, wenn sie leer sind, das Objekt „requestdispatcher“, das mit Anforderungs- und Antwortobjekten an register_3.jsp weiterleitet.

Code Zeile 30-34: Dies wird ausgeführt, wenn beide nicht leer sind, und leitet dann die Anforderung mit Anforderungs- und Antwortobjekten an register_4.jsp weiter.

Beispiel 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>

Erklärung des Codes:

Code Linie 12: Hier erhalten wir den Parameter „Benutzername“ vom Anforderungsobjekt im String-Objekt Benutzername.

Code Linie 13: Hier haben wir eine Willkommensnachricht mit dem Benutzernamen.

Code Linie 14: Hier verlinken wir zum Abmelden des Formulars, das zu register_3.jsp weiterleitet.

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:

Ausgang:

Wenn wir hier auf register_3.jsp klicken, erhalten wir zwei Felder „Benutzername“ und „Passwort“ mit einer Anmeldeschaltfläche.

Anmelde- und Abmeldeformular

Nachdem Sie auf die Schaltfläche „Anmelden“ geklickt haben, wird die folgende Meldung mit der Schaltfläche „Abmelden“ angezeigt.

Anmelde- und Abmeldeformular

Wenn Sie auf die Schaltfläche „Abmelden“ klicken, kehren Sie zur Anmeldeseite zurück

Anmelde- und Abmeldeformular

JSP-Formularverarbeitung mit getParameter()

JSP-Formularverarbeitung:

Formulare sind die gängige Methode in der Webverarbeitung. Wir müssen Informationen an den Webserver senden und diese Informationen.

Es gibt zwei häufig verwendete Methoden zum Senden und Zurückholen von Informationen an den Webserver.

GET-Methode:

  • Dies ist die Standardmethode zur Weitergabe von Informationen vom Browser an den Webserver.
  • Es sendet die kodierten Informationen, getrennt durch ein angehängtes Fragezeichen. URL
  • Außerdem gibt es eine Größenbeschränkung und wir können in der Anfrage nur 1024 Zeichen senden.
  • Wir sollten es vermeiden, Passwörter und vertrauliche Informationen über die GET-Methode zu senden.

POST-Methode:

  • Die Post-Methode ist eine äußerst zuverlässige Methode zum Senden von Informationen an den Server.
  • Es sendet Informationen als separate Nachricht.
  • Es wird als Textzeichenfolge nach dem Fragezeichen gesendet. URL.
  • Es wird häufig zum Versenden vertraulicher Informationen verwendet.

JSP verarbeitet Formulardaten mithilfe der folgenden Methoden:

  1. getParameter(): Wird verwendet, um den Wert des Formularparameters zu erhalten.
  2. getParameterValues(): Wird verwendet, um mehrere Werte der Parameter zurückzugeben.
  3. getParameterNames(): Wird verwendet, um die Namen der Parameter abzurufen.
  4. getInputStream(): Wird zum Lesen der vom Client gesendeten Binärdaten verwendet.

Ejemplo:

In diesem Beispiel haben wir ein Formular mit zwei Feldern „Benutzername“ und „Passwort“ mit einer Schaltfläche zum Senden verwendet

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>

Erklärung des Codes: Action_form.jsp

Code Linie 10: Hier haben wir ein Formular definiert und über das wir die Aktion an ein anderes weiterleiten können JSP. Im Aktionsparameter fügen wir die JSP hinzu, zu der sie über die GET-Methode verarbeitet werden muss.

Hier verwenden wir die GET-Methode, um die Informationen, also Benutzername und Passwort, zu übergeben.

Code Zeile 11-14: Hier verwenden wir Felder wie Benutzername und Passwort, bei denen es sich um Textfelder handelt, und erhalten die Eingaben vom Benutzer.

Diese Eingabe kann mit der getParameter-Methode abgerufen werden. Außerdem haben wir eine Schaltfläche zum Senden mit dem Typ „submit type“, die uns dabei hilft, die Feldwerte an action_form_process.jsp zu übergeben

Action_form_process.jsp

Code Linie 14: Hier erhalten wir die Werte der Eingabefelder von action_form.jsp mithilfe der getParameter-Methode des Anforderungsobjekts.

Wenn wir den obigen Code ausführen, erhalten wir die folgende Ausgabe:

JSP-Formularverarbeitung

JSP-Formularverarbeitung

Ausgang:

Wenn wir action_form.jsp ausführen, erhalten wir ein Formular mit zwei Feldern, Benutzername und Passwort, und einer Schaltfläche zum Senden. Nachdem wir Benutzername und Passwort eingegeben haben, können wir auf „Senden“ klicken und es wird zur nächsten Seite weitergeleitet, die eine Ausgabe als Formularverarbeitungsseite mit einem gibt Willkommensnachricht.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: