Não consigo enviar os dados de um formulário para o Servlet

Olá galera!!

Sou iniciante, e estou tentando fazer meu primeiro servlet funcionar, fiz a página de cadastro de usuário conforme abaixo:

<!DOCTYPE html>
<html>

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
	<title>Insert title here</title>
</head>

<body>
	<form action="login" method="post">
		<table>
			<tr>
				<td>Usuário:</td>
				<td><input type="text" name="usuario" size="20"/></td>
			</tr>
			
			<tr>
				<td>Senha:</td>
				<td><input type="password" name="senha" size="20"/></td>
			</tr>
			
			<tr>
				<td colspan="2">
					<input type="submit" value="Validar"/>
				</td>
			</tr>
		</table>
	</form>
</body>

</html>

E fiz o servlet conforme abaixo:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Login")
public class ServletLogin extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	public ServletLogin() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		response.sendRedirect("login.html");
		
		//parâmetros do formulário  
		String usuario = request.getParameter("usuario");  
		String senha  = request.getParameter("senha");    
		
		//parâmetros de inicialização do servlet  
		String user = this.getServletConfig().getInitParameter("user");
		String pwd = this.getServletConfig().getInitParameter("pwd");
		
		if(usuario.equals(user) && senha.equals(pwd)) {
			out.print("Usuário validado!");
		} else {
			out.print("Usuário ou senha inválidos");
		}
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}
}

Porém quando executo apartir do formulário de nome index.html o mesmo dá erro, alguém poderia dizer onde estou errando pfv,

Desde já agradeço.

Vc definiu o servlet como /Login e no form utilizou login. Se não me engano, o nome do servlet (que será a URL) é case-sensitive, ou seja, Login é diferente de login. Tente deixar o mesmo valor no servlet e no form (ex.: /login).

@Lucas_Camara, na verdade, não é o nome da Servlet, é o valor definido na anotação @WebServlet. Mesmo quando a configuração das servlets era no web.xml não era o nome que definia qual seria a action.
E, sim, como quase tudo no java (não afirmo ser tudo pois não conheço tão profundamente assim) é case sensitive, ou seja, Login e login são coisas distintas.

1 curtida