Escolar Documentos
Profissional Documentos
Cultura Documentos
Recapitulando Tarefa 01
Atividades da Tarefa 1: Criao da Tela de Login; Dados do formulrio submetidos a um Servlet; Autenticao do usurio com login admin e a senha admin123; o Em falha: Redireciona para o login.jsp/index.jsp; o Em sucesso: Redireciona para a Principal.jsp. Criao de uma pgina de erro para mascarar o erro 404.
Agora, para despachar, basta fazer uma chamada ao mtodo forward, passando com parmetro a request e a response.
view.forward(request, response);
Com isso, o envio para outra pgina pode ser feito. Faa o teste na sua aplicao.
request.setAttribute("named", nome);
Note que, Seu nome Macgyver est sendo armazenado na String nome, e em seguida, setado um atributo chamado named, recebendo o objeto nome como valor. Nesta situao, a String est recebendo um valor esttico, mas voc pode setar nela o valor que est sendo passado pelo formulrio, como nome ou senha digitada, informaes da requisio do usurio.
Teste a fazer
Experimente os dois mtodos vistos anteriormente (sendRedirect() e forward()) para tentar fazer o envio para a pgina index.jsp e resgatar o valor do atributo nesta.
Resgatando o valor
Para resgatar o valor na pgina index.jsp, utilize scriptlets (<% %>) na pgina JSP. Note que, para resgatar valores de formulrios no Servlet, foi utilizado o getParameter(), se tentar resgatar o atributo atravs deste, no funcionar, pois o getParameter() resgata parmetros de requisies GET e POST. Para o valor do atributo setado, ser utilizado o mtodo getAttribute() do objeto implcito request.
request.getAttribute("named");
Pergunta
Seria possvel ao invs de utilizar o setAttibute(), passar o valor do atributo por sendRedirect()? Caso positivo, como? Como esse parmetro seria resgatado na pgina index.jsp?
Formulrio de Cdstro
Com o conhecimento adquirido at aqui, adicione um link cadastre-se na pgina de login, que vai submeter a uma pgina cadastrousuario.jsp. Nesta pgina o usurio ter um formulrio a preencher com dados de nome, email, endereo, bairro, cidade, login e senha, esse formulrio ir submeter as informaes para um servlet, que ir tratar estas informaes e devolver elas para uma pgina JSP, que vai imprimir em cada linha uma das informaes, e um texto de identificao, referente a o que aquela informao.
Crie uma nova copia do projeto, e renomeie para aulaEnumeration, ou o nome que julgar mais apropriado.
Desfio 1
Utilizando sesses, controle o acesso, atravs da URL pginas restritas.
Desfio 2
MD5
Utilize e adapte a classe que gera o hash MD5, do arquivo md5.txt disponvel no Mussum para gerar o hash das senhas dos usurios e validar o usurio a partir do hash, sendo assim o teste no ser mais realizado a partir da senha admin123, e sim a partir do hash dela. Note que possvel utilizar outros algoritmos de hash para fazer a validao, basta trocar o valor de MessageDigest.getInstance("MD5"). possvel, por exemplo, mudar para SHA1, outro algoritmo popular para gerao de hashs.
Desfio 3
Conforme visto em aula, seguindo MVC, no se deve misturar lgica(at ento o servlet .java) com visualizao (jsp), e utilizando o cdigo elaborado, embora j se esteja
tratando alguns destes problemas, em algumas situaes este problema ainda est acontecendo. Identifique estes problemas na sua aplicao. Pense em alguma possvel soluo para este problema.
Desfio 4
Substitua sua implementao MD5 por uma de melhor desempenho. Baixe a biblioteca FastMD5 (http://www.twmacinta.com/myjava/fast_md5.php), e faa com que esta funcione no lugar da implementao atual.
Finalizando
Coloque seu projeto em uma pasta chamada Aula 04 do seu dropbox.