Pular para o conteúdo

Kleber's Blog

Páginas

  • Apps
  • Jogos
  • Plugins
  • Temas
  • Tutoriais
  • Sobre

Autenticação e login com JSP usando uma conexão JDBC

Nesse exemplo será mostrado como autenticar e logar um usuário através de um username e senha. Essa programa consiste de uma página JSP e um Servlet para autenticar o usuário.

Os usuários entram com o seu username e senha em uma página JSP e clicam no botão “Sign-In”. No formulário de entrada, os dados são postados para o servlet que autentica o usuário. O Servlet cria uma conexão JDBC e autentica o usuário. Antes de submeter dados ao servlet, o javascript garante que nenhum dos campos esteja em branco.

Estaremos usando o servidor tomcat para rodar o Servlet e a página JSP. Você pode usar qualquer navegador para testar a aplicação. Usaremos dois arquivos: AuthenticLogin.jps e LoginAuthenticaton.jsp e instalaremos a aplicação na pasta webapps/JSPMultipleForms do servidor tomcat. Usaremos o MySQL para a conexão com o banco de dados e através dos valores da tabela “user” autenticaremos a entrada do usuário. A estrutura da tabela “user” é dada abaixo:

Estrutura da tabela User no MySQL:

CREATE TABLE `user` (
`user` varchar(256) default NULL,
`password` varchar(256) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
/*Data for the table `user` */
insert into `user`(`user`,`password`) values (‘amit’,’kumar’);

O AuthenticLogin.jps chama o Servlet LoginAuthentication.jps para autenticar a entrada do usuário. O Servlet primeiro estabelece uma conexão JDBC com o banco de dados  localizado na máquina 192.168.10.59. O banco de dados usado por essa aplicação é chamado messagepaging. Você pode mudar o banco de dados antes de executar o exemplo em sua máquina. Depois o programa autentica o usuário pelo banco de dados. Se a entrada fornecida pelo usuário estiver correta a mensagem “Welcome” seguida do username será mostrada pelo navegador, caso contrário a mensagem “Please enter correct username and password” será mostrada junto com um link para efetuar o login novamente.

O código para o LoginAuthentication.java é mostrado abaixo:

1. LoginAuthentication.java

import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*; 
public class LoginAuthentication extends HttpServlet{
private ServletConfig config;

public void init(ServletConfig config)
throws ServletException{
this.config=config;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{

PrintWriter out = response.getWriter();
String connectionURL = "jdbc:mysql://192.168.10.59/messagepaging";
Connection connection=null;
ResultSet rs;
String userName=new String("");
String passwrd=new String("");
response.setContentType("text/html");
try {
// Load the database driver
Class.forName("com.mysql.jdbc.Driver");
// Get a Connection to the database
connection = DriverManager.getConnection(connectionURL, "root", "root");
//Add the data into the database
String sql = "select user,password from User";
Statement s = connection.createStatement();
s.executeQuery (sql);
rs = s.getResultSet();
while (rs.next ()){
userName=rs.getString("user");
passwrd=rs.getString("password");
}
rs.close ();
s.close ();
}catch(Exception e){
System.out.println("Exception is ;"+e);
}
if(userName.equals(request.getParameter("user"))
&& passwrd.equals
(request.getParameter("pass"))){
out.println("WELCOME "+userName);
}
else{
out.println("Please enter correct username and password");
out.println("<a href='AuthenticLogin.jsp'><br>Login again</a>");
}
}
}

2. AuthenticLogin.jsp

<%@ page language=”java” %>
<html>
<head>
<title>Login Page</title>
<script language = “Javascript”>
function Validate(){
var user=document.frm.user
var pass=document.frm.pass 
if ((user.value==null)||(user.value==””)){
alert(“Please Enter user name”)
user.focus()
return false
}
if ((pass.value==null)||(pass.value==””)){
alert(“Please Enter password”)
pass.focus()
return false
}
return true
}
</script>
</head>
<body>
<h1>Login
<br>
</h1>
<form name=”frm” action=”/JSPMultipleForms/LoginAuthentication” method=”Post” onSubmit=”return Validate()” >
Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=”text” name=”user” value=””/><br>
Password:<input type=”password” name=”pass” value=””/><br>
<br>&nbsp;&nbsp;&nbsp;<input type=”submit” value=”Sign-In” />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=”reset” value=”Reset” />
</form>
</body>
</html>

Para invocar o servlet no servidor tomcat nós temos que incluir as seguintes linhas no arquivo “web.xml”.

3. web.xml

<!–web.xml code –><servlet>
<servlet-name>LoginAuthentication</servlet-name>
<servlet-class>LoginAuthentication</servlet-class>
</servlet> 
<servlet-mapping>
<servlet-name>LoginAuthentication</servlet-name>
<url-pattern>/LoginAuthentication</url-pattern>
</servlet-mapping>

Para executar o exemplo acima, sigua os seguintes passos:

1.Cria e salve o arquivo LoginAuthentication.java.

2.Compile LoginAuthentication.java e coloque o arquivo class resultante na pasta class do servidor.

3.Insira o nome e mapeamento do servlet no arquivo web.xml

4.Crie e salve o arquivo AuthenticLogin.jsp na pasta JSPMultipleForms.

5.Carregue o Servidor Tomcat.

6.Digite a seguinte linha na barra de endereço do navegador

“http://localhost:8080/JSPMultipleForms/AuthenticLogin.jsp”

Saída:



Se uma entrada válida não for fornecida você terá que tentar novamente.



Download Source Code

Traduzido de http://www.roseindia.net/mysql/loginauthentication.shtml

Artigos relacionados:

Default ThumbnailSistema De Login Em Jsp Com Sessions Default ThumbnailIntrodução ao JDBC Default ThumbnailPasso a passo para desenvolver uma aplicação usando o Spring Framework MVC – Capitulo 1 – Configuração do ambiente e o fundamentos da aplicação Default ThumbnailPasso a passo para desenvolver uma aplicação usando o Spring Framework MVC – Capitulo 2 – Desenvolvendo e configurando as Visões e o Controlador
Publicado em 16 de maio de 20113 de outubro de 2019Autor klebermoCategorias JavaTags Java, JDBC, login, MySQL

Navegação de Post

Anterior Post anterior: Framework desenvolvimento para o Microsoft Kinect
Seguinte Próximo post: Introdução a Taglib
Orgulhosamente mantido com WordPress