[dever-de-casa] Servlet e forumlario [era Tô precisando muito de ajuda!]

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:

  1. 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.

  2. 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:

  1. Compare o código do servlet que você me enviou, com aqueles que eu utilizei
    em sala.

  2. 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]

seu professor parece saber pouco de Java, pois se você implementou o método service() do Servlet, ele atende a qualquer tipo de requisição HTTP (POST, GET etc).

Quanto ao RequestDispatcher, também está certo.

Você configurou o seu servlet no web.xml?

mimi, como o destro falou:
1- mapeie o seu web xml.
Algo + ou - assim:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;
&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
 version="2.4"&gt;
	&lt;description&gt;Trabalho de casa da MIMI&lt;/description&gt;	
	&lt;servlet&gt;
		&lt;servlet-name&gt;LoginAction&lt;/servlet-name&gt;
		&lt;servlet-class&gt; seupackage.LoginAction	&lt;/servlet-class&gt;
		&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
	&lt;/servlet&gt;

	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;LoginAction&lt;/servlet-name&gt;
		&lt;url-pattern&gt;/blablaServlet/*&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;	
&lt;/web-app&gt;

2-Troque de professor. :wink: