Pessoal,
Sou iniciante em programaçao java para web, criei uma classe login, na qual usando cookies, permite que usuarios
sejam autenticados. Quando tento fazer o login com o usuario admin (cadastrado no MySLQ) vem a mensagem:
Nao foi possivel conectar com o banco.
Parameter index out of range (1 > of parameters, which is 0)
Tentei diversas formas mas sem sucesso.
Segue abaixo o codigo.
package br.home.livraria;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.<em>;
import java.sql.</em>;
/**
-
Servlet implementation class Login */ public class Login extends HttpServlet { private static final long serialVersionUID = 1L; private Connection conn;
/**
-
@see HttpServlet#HttpServlet()
*/
public Login() {
super();
// TODO Auto-generated constructor stub
}
/**
-
@see Servlet#init(ServletConfig) */ public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub String connectionString = “jdbc:mysql://localhost/livraria?user=root&password=1234”;
try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(connectionString); } catch (ClassNotFoundException err) { System.out.println("Nao foi possivel carregar o Driver"); System.out.println(err.getMessage()); } catch (SQLException err){ System.out.println("Erro ao estabelecer a conexao com o banco de dados"); System.out.println(err.getMessage()); }
}
/**
-
@see Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
-
@see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub
PrintWriter out = response.getWriter(); String html = “”; String login = “”;
Cookie cookies[] = request.getCookies(); if (cookies != null){ for (int i = 0 ; i < cookies.length; i++){ if (cookies[i].getName().equals(“login”)== true){ login = cookies[i].getValue(); } //fecha segundo if
} //fecha for
} //fecha primeiro if
html += “”; html += “”; html += “Biblioteca Online”; html += “”; html += “”; html += “”; html += “Login: ”; html += “Senha:<input type=‘password’ id=‘password’ name=‘password’ ”; html += “ ”; html += “”; html += “”; out.print(html); }
/**
-
@see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub
PrintWriter out = response.getWriter(); PreparedStatement smt; Cookie cookie; ResultSet rs; String sql = “select * from tb_usuario where login = ‘?’ and password = password(’?’)”; String html = “”; html += “”; html += “”; try { if (request.getParameter(“login”)!= null && request.getParameter(“password”)!= null) { smt = conn.prepareStatement(sql); smt.setString(1, request.getParameter(“login”)); smt.setString(2, request.getParameter(“password”)); rs = smt.executeQuery();if (rs.next()){ cookie = new Cookie("login", request.getParameter("login")); response.addCookie(cookie); response.sendRedirect("sucesso.html"); /* Pratica 3 HttpSession session = request.getSession(); session.setAttribute("UserName",rs.getString("Nome")); response.sendRedirect("CadastraLivro");*/ } else { html += "usuario ou senha invalidos"; } rs.close(); smt.close(); } else{ html += "usuario ou senha nao informada !"; } } catch (SQLException err){ html += "Nao foi possivel conectar com o banco<br><br>"; html += err.getMessage(); } html+= "</body>"; html+= "</html>"; out.print(html); out.close(); }
}
-
@see HttpServlet#HttpServlet()
Att,
Faria
