Exemplos de programas JSP: formulário de registro e login

Neste tutorial, iremos desenvolver programas de exemplo com JSP e usando MVC archiarquitetura.

Following Exemplos de programas, serão desenvolvidos -

Usando formulário de registro através de JSP

No Formulário de Inscrição, teremos um formulário para preencher todos ostails que conterá nome, nome de usuário, senha, endereço, número de contato, etc.

Este formulário nos ajudará a registrar-se no aplicativo. Eles levam todos os nossos details e armazene-o em um banco de dados ou cache.

Neste exemplo, vamos pegar o “Formulário de registro do Guru”, que tem o seguintewing Campos:

  1. Nome
  2. Sobrenome
  3. Nome de Utilizador
  4. Senha
  5. Endereço
  6. Número de contato

Depois de preencher todos esses details temos o botão enviar, ao clicar nesse botão todos ostails será armazenado.

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ção do código:

Linha de código 11: Aqui estamos pegando um nome de formulário que tem ação, ou seja, o servlet para o qual a solicitação será processada e o nome do servlet é guru_register.java. A solicitação será processada através do método POST.

Linha de código 14-16: Aqui estamos considerando o tipo de entrada como texto e o nome é o primeiro nome

Linha de código 18-20: Aqui estamos considerando o tipo de entrada como texto e o nome é o sobrenome

Linha de código 22-24: Aqui estamos considerando o tipo de entrada como texto e o nome é nome de usuário

Linha de código 26-28: Aqui estamos considerando o tipo de entrada como senha (isso ocultará a senha quando digitada) e o nome como senha

Linha de código 30-32: Aqui estamos considerando o tipo de entrada como texto e o nome como endereço

Linha de código 34-36: Aqui estamos considerando o tipo de entrada como texto e o nome como contato

Linha de código 37: Aqui pegamos um botão do tipo enviar e o valor também é enviar. Ao clicar neste botão a ação irá para o servlet guru_register correspondente onde todos os valores dos parâmetros serão passados ​​na solicitação.

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ção do código:

Linha de código 14: Aqui definimos guru_servlet que estende o HttpServlet.

Linha de código 18: Este método action doPost() que será chamado quando mencionarmos POST no atributo action acima Formulário JSP.

Linha de código 20-25:Aqui estamos buscando os valores da solicitação, ou seja, primeiro_nome, sobrenome, nome de usuário, senha, endereço e contato usando request.getParameter.

Linha de código 27-32: Aqui estamos tomando a condição if onde verificamos qualquer um dos parâmetros que são buscados na solicitação se estão vazios ou não. Se algum parâmetro estiver vazio, ele entrará nesta condição ( first_name.isEmpty() || last_name.isEmpty || username.isEmpty || password.isEmpty || address.isEmpty || contact.isEmpty()) e temos para buscar o objeto RequestDispatcher usando o objeto request que encaminhará a solicitação para Register_1.jsp. Aqui também incluímos objetos de solicitação e resposta.

Linha de código 33-37: Este caso será executado quando algum dos parâmetros não estiver vazio. Teremos que buscar o objeto requestDispatcher usando o objeto request que encaminhará a solicitação para Register_2.jsp.Aqui estamos encaminhando objetos de solicitação e resposta.

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ção do código:

Linha de código 10: Aqui estamos dizendo bem-vindo usuário. Este JSP será chamado quando todos os parâmetros forem preenchidos.

Ao executar o código acima, você obtém o seguintewing saída:

Usando Formulário de Registro através de JSP

Usando Formulário de Registro através de JSP

Saída:

Ao clicarmos em Register_1.jsp, obteremos um formulário que terá otails como nome, sobrenome, nome de usuário, senha, endereço, contato. Todos os details foram preenchidos. Quando clicamos no botão enviar, recebemos a mensagem “Bem-vindo, usuário”

Formulário de login e logout

Assim como o formulário de inscrição teremos um formulário de login e logout.

Neste exemplo, pegamos o formulário de Login onde temos dois campos “nome de usuário” e “senha” com um botão de envio.

Quando clicamos no botão enviar, recebemos uma mensagem de boas-vindas com um botão de logout.

Quando clicamos no botão de logout, voltamos ao formulário de login.

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ção do código:

Linha de código 10:Aqui estamos pegando um nome de formulário que tem ação, ou seja, o servlet para o qual foi passado é guru_login.java. O método pelo qual passará seu POST.

Linha de código 13-16: Aqui estamos pegando um campo de entrada “nome de usuário” que é do tipo texto.

Linha de código 17-20: Aqui estamos pegando um campo de entrada “senha” que é do tipo senha.

Linha de código 22: Aqui estamos pegando um botão “enviar” com o valor “Login” no qual clicamos e então vai para o servlet guru_login onde ambos os campos são obtidos usando o objeto request.

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ção do código:

Linha de código 5-9: Aqui estamos importando as importações necessárias no código.

Linha de código 14: Aqui estamos usando o servlet guru_login que estende o HttpServlet.

Linha de código 21: Aqui estamos usando o método doPost() como no formulário que estamos usando o método POST.

Linha de código 23-24: Aqui estamos pegando parâmetros usando o objeto de solicitação, ou seja, nome de usuário e senha.

Linha de código 25-29: Desta forma, estamos assumindo a condição “if” onde verificamos o nome de usuário e a senha, estejam eles vazios ou não. Nesse caso, se estiver vazio, obteremos o objeto requestdispatcher que encaminha para Register_3.jsp com objetos de solicitação e resposta.

Linha de código 30-34: Isso será executado se ambos não estiverem vazios e encaminhará a solicitação para Register_4.jsp com objetos de solicitação e resposta.

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ção do código:

Linha de código 12: Aqui estamos obtendo o parâmetro “nome de usuário” do objeto de solicitação na string do objeto nome de usuário.

Linha de código 13: Aqui temos uma mensagem de boas-vindas com o nome de usuário.

Linha de código 14: Aqui temos um link para sair do formulário que redireciona para Register_3.jsp.

Ao executar o código acima, você obtém o seguintewing saída:

Saída:

Aqui quando clicamos em Register_3.jsp obtemos dois campos “nome de usuário” e “senha” com um botão de login.

Formulário de login e logout

Após clicar no botão Login você receberá a mensagem abaixo com um botão Logout.

Formulário de login e logout

Ao clicar no botão de logout você volta para a página de login

Formulário de login e logout