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.;
import java.sql.;
/**
-
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 stubPrintWriter 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 stubPrintWriter 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
