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.*; private ServletConfig config; |
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: <input type=”text” name=”user” value=””/><br> Password:<input type=”password” name=”pass” value=””/><br> <br> <input type=”submit” value=”Sign-In” /> <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.
Traduzido de http://www.roseindia.net/mysql/loginauthentication.shtml