Примеры программ JSP: форма регистрации и входа

В этом уроке мы собираемся разработать примеры программ с помощью JSP и MVC. archiтектура.

Фоллоwing Примеры программ будут разработаны –

Использование регистрационной формы через JSP

В регистрационной форме у нас будет форма для заполнения всех данных.tails который будет содержать имя, имя пользователя, пароль, адрес, контактный номер и т. д.

Эта форма поможет нам зарегистрироваться в приложении. Они забирают все наши деtails и хранить в база данных или кэш.

В этом примере мы возьмем «Форму регистрации гуру», которая имеет следующий вид:wing поля:

  1. Имя
  2. Фамилия
  3. Имя пользователя
  4. Пароль
  5. Адрес
  6. Контактный номер

После заполнения всех этих деtails у нас есть кнопка «Отправить», при нажатии на эту кнопку все происходитtails будут храниться.

Регистр_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>

Расшифровка кода:

Строка кода 11: Здесь мы берем имя формы, которая имеет действие, то есть сервлет, к которому будет обработан запрос, и имя сервлета — guru_register.java. Запрос будет обработан методом POST.

Строка кода 14–16: Здесь мы принимаем тип ввода как текст, а имя — это имя.

Строка кода 18–20: Здесь мы принимаем тип ввода как текст, а имя — фамилию.

Строка кода 22–24: Здесь мы принимаем тип ввода в виде текста, а имя — имя пользователя.

Строка кода 26–28: Здесь мы принимаем тип ввода в качестве пароля (это скроет пароль при вводе) и имя в качестве пароля.

Строка кода 30–32: Здесь мы принимаем тип ввода как текст и имя как адрес.

Строка кода 34–36: Здесь мы принимаем тип ввода как текст и имя как контакт.

Строка кода 37: Здесь мы берем кнопку типа submit, и значение также равно submit. При нажатии этой кнопки действие перейдет к соответствующему сервлету guru_register, куда все значения параметров будут переданы в запросе.

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

}

Расшифровка кода:

Строка кода 14: Здесь мы определяем guru_servlet, который расширяет HttpServlet.

Строка кода 18: Это метод действия doPost(), который будет вызываться, когда мы упомянем POST в атрибуте действия выше. JSP-форма.

Строка кода 20–25:Здесь мы получаем значения из запроса, т. е. first_name, Last_name, имя пользователя, пароль, адрес и контакт, используя request.getParameter.

Строка кода 27–32: Здесь мы принимаем условие if, при котором мы проверяем любой из параметров, полученных из запроса, на предмет того, являются ли они пустыми или нет. Если какой-либо параметр пуст, то он войдет в это условие ( first_name.isEmpty() || Last_name.isEmpty || username.isEmpty || пароль.isEmpty || адрес.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"%>
<!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>

Расшифровка кода:

Строка кода 10: Здесь мы говорим: добро пожаловать, пользователь. Этот JSP будет вызван, когда все параметры будут заполнены.

Когда вы выполните приведенный выше код, вы получите следующееwing вывод:

Использование регистрационной формы через JSP

Использование регистрационной формы через JSP

Вывод:

Когда мы нажмем на Register_1.jsp, мы получим форму, которая будет иметьtails например имя, фамилия, имя пользователя, пароль, адрес, контакт. Все деtails были заполнены. Когда мы нажимаем кнопку «Отправить», мы получаем сообщение «Добро пожаловать, пользователь».

Форма входа и выхода

Как и форма регистрации, у нас будет форма входа и выхода.

В этом примере мы взяли форму входа в систему, в которой есть два поля «имя пользователя» и «пароль» с кнопкой отправки.

Когда мы нажимаем кнопку «Отправить», мы получаем приветственное сообщение с кнопкой выхода из системы.

Когда мы нажимаем кнопку выхода из системы, мы возвращаемся к форме входа.

Регистр_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>

Расшифровка кода:

Строка кода 10:Здесь мы берем имя формы, имеющее действие, т.е. сервлет, которому оно было передано, — guru_login.java. Метод, посредством которого он будет передавать POST.

Строка кода 13–16: Здесь мы берем поле ввода «имя пользователя», которое имеет текстовый тип.

Строка кода 17–20: Здесь мы берем поле ввода «пароль», которое имеет тип пароля.

Строка кода 22: Здесь мы берем кнопку «Отправить» со значением «Войти», на которую нажимаем, а затем она переходит к сервлету guru_login, где оба поля берутся с использованием объекта запроса.

Guru_login.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_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);
		}
	}

}

Расшифровка кода:

Строка кода 5–9: Здесь мы импортируем необходимые импорты в код.

Строка кода 14: Здесь мы используем сервлет guru_login, который расширяет HttpServlet.

Строка кода 21: Здесь мы используем метод doPost(), как и в той форме, в которой мы используем метод POST.

Строка кода 23–24: Здесь мы принимаем параметры, используя объект запроса, то есть имя пользователя и пароль.

Строка кода 25–29: Таким образом, мы принимаем условие «если», когда мы проверяем имя пользователя и пароль, пусты они или нет. В этом случае, если оно пусто, мы получаем объект requestdispatcher, который пересылает в Register_3.jsp объекты запроса и ответа.

Строка кода 30–34: Это будет выполнено, если оба не пусты, а затем перенаправит запрос в Register_4.jsp с объектами запроса и ответа.

Регистр_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>

Расшифровка кода:

Строка кода 12: Здесь мы получаем параметр «имя пользователя» из объекта запроса в имени пользователя строкового объекта.

Строка кода 13: Здесь у нас есть приветственное сообщение с именем пользователя.

Строка кода 14: Здесь мы ссылаемся на форму выхода из системы, которая перенаправляется на Register_3.jsp.

Когда вы выполните приведенный выше код, вы получите следующее:wing вывод:

Вывод:

Здесь, когда мы нажимаем на Register_3.jsp, мы получаем два поля «имя пользователя» и «пароль» с кнопкой входа в систему.

Форма входа и выхода

После нажатия кнопки «Войти» вы получите сообщение ниже с кнопкой «Выход».

Форма входа и выхода

При нажатии на кнопку выхода вы возвращаетесь на страницу входа.

Форма входа и выхода