Olá pessoal, boa tarde.
Estou tentando fazer um sistema de login utilizando JSP + Servlet. No entanto, não estou conseguindo passar os parâmetros de usuário e senha que são recebido no JSP para o Servlet. Pelo que estou entendendo as informações não são passados na requisição, mas não entendo porque. Já vi alguns exemplos mas nenhum deles funcionou.
Minha tela de login JSP:
<%@ page language=“java” contentType=“text/html; charset=utf-8” pageEncoding=“ISO-8859-1”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt” %>
<%-- <meta charset="ISO-8859-1"> --%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Login</title>
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<c:import url="cabecalho.jsp"/>
<h3>Autenticação de usuário</h3>
<form method="post" action=ControllerServlet>
<table>
<tr>
<td>Login</td>
<td><input name="login" type="text"/></td>
</tr>
<tr>
<th>Senha: </th>
<td><input name="senha" type="password"/></td>
</tr>
<tr>
<td colspan="2">
<input type="button" onclick="location.href='mvc?logica=AutenticacaoLogic';" value="Entrar" name="bOK"/>
</td>
</tr>
</table>
</form>
<c:import url="rodape.jsp"/>
</body>
Meu controlador:
package br.com.coren_ba.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.coren_ba.logica.Logica;
@WebServlet("/mvc")
public class ControllerServlet extends HttpServlet{
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String parametro = request.getParameter(“logica”);
String nomeDaClasse = “br.com.coren_ba.logica.” + parametro;
try {
Class classe = Class.forName(nomeDaClasse);
Logica logica = (Logica) classe.newInstance();
String pagina = logica.executa(request, response);
request.getRequestDispatcher(pagina).forward(request, response);
} catch (Exception e) {
throw new ServletException("A lógica de negócios causou uma excesão", e);
}
}
}
Minha lógica para o tratamento dos dados é a seguinte:
package br.com.coren_ba.logica;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.coren_ba.conexao.*;
public class AutenticacaoLogic implements Logica{
@Override
public String executa(HttpServletRequest req, HttpServletResponse res) throws Exception {
// TODO Auto-generated method stub
res.setContentType("text/html");
String usuario = req.getParameter("login");
String senha = req.getParameter("senha");
System.out.println(req.getParameter("login"));
System.out.println(req.getParameter("senha"));
Conexao_AD conecta = new Conexao_AD();
boolean conectado = conecta.conexao(usuario,senha);
if(conectado == true) {
System.out.println("Conectado");
}else {
System.out.println("Não conectado");
}
//System.out.println(usuario);
//System.out.println(senha);
return "/WEB-INF/jsp/Autenticado.jsp";
}
}
Agradeço desde já.