Gente eu sou muito novata em java e meu professor já está aplicando desenvolvimento Web, então ele nos pediu o seguinte:
Construa uma página HTML que peça ao usuário o
seu login e senha. Após confirmar essas
informações a página deve enviá-las para um
servlet que as validará. Somente o aluno que criou
a página e o professor poderão acessá-la. Estes
devem visualizar uma página de boas vindas, os
demais devem receber uma página de erro.
Eu fiz com ajuda do forum o seguinte:
Pra html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
> <title>Michelle de Souza Gomes</title>
> </head>
> <body>
> <form method="POST" action="http://localhost:8080/Trabalhoweb/LoginAction">
> Login: <INPUT TYPE=text NAME=login size=30 maxlength="100"><br>
> Senha: <INPUT TYPE=senha NAME="senha" size=20 maxlength="100"></form>
> <INPUT TYPE=SUBMIT VALUE="Envia mensagem">
> </body>
> </html>
E pra o Servlet:
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;
>
>
>
> public class LoginAction extends HttpServlet {
>
> private String usuario;
> private String senha;
> private String target;
>
> public void service(HttpServletRequest request, HttpServletResponse
> response)
> throws IOException, ServletException {
>
> RequestDispatcher rd;
> usuario = request.getParameter("usuario");
> senha = request.getParameter("senha");
> if(validaLogin(usuario,senha)){
> target = "/bemvindo.jsp";
> }else{
> target = "/erro.jsp";
> }
>
> rd = getServletContext().getRequestDispatcher(target);
> rd.forward(request, response);
> }
> public boolean validaLogin(String usuario,String senha){
> if(usuario.equals("aluno")&& senha.equals("1234")||
> usuario.equals("professor")&& senha.equals("456")){
> return true;
> }else{
> return false;
> }
> }
> }
Só que eu por ser muito inexperiente não consigo ligar um no outro mandei um e-mail pro professor e ele me respondeu o seguinte:
Olá Michelle,
Seu exemplo tem dois problemas:
-
Na página html, você define o método POST do protocolo http, porém, no
servlet implementado, você utiliza o método service e não o método doPost. -
O seu exemplo faz uso de uma interface chamada RequestDispatcher que eu ainda
não falei em sala, vou falar na próxima aula. Use o mecanismo de criar sua
página de resposta no próprio código do servlet.
Dicas:
-
Compare o código do servlet que você me enviou, com aqueles que eu utilizei
em sala. -
Crie um servlet que implemente o método doPost com o código que você me
enviou, que aí vai funcionar a ligação entre eles.
Será que alguem pode me ajudar não consegui ver nada, estou tentando e nada não sei mais o que fazer pleaseeeeeee!!!
[color=red]moderador: use um titulo util e a tag [code][/color]