Fala meu amigo :D desculpe não ter respondido antes, tiver que fazer uma viagem a Caxias do Sul e só agora a noite pude acessar no note pra ver o código novamente ...bom, estou enviando o código completo do servlet e o código do banco para você ...
import java.io.*;
import java.net.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet {
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public static void sendLoginForm(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, SQLException, ClassNotFoundException {
String metodo = response.getContentType();
int conexao = request.getLocalPort();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title> Login </title>");
out.println("</head>");
out.println("<body>");
out.println("<center>");
out.println("<br>");
out.println("<br> <h2> Login Page </h2>");
out.println("<br>");
out.println("<br> <form action= \"LoginServlet\"method=post>");
out.println("<table>");
out.println("<tr>");
out.println("<td> User Name:</td>");
out.println("<td><input type=text name=email></td>" + metodo);
out.println("</tr>");
out.println("<tr><td> Password </td>");
out.println("<td><input type=password name=senha></td>" + conexao);
out.println("</tr>");
out.println("<tr>");
out.println("<td align=right colspan=2>");
out.println("<input type=submit value=Login> </td>");
out.println("</tr>");
out.println("</table>");
out.println("</form>");
out.println("</center>");
out.println("</body>");
out.println("</html>");
validaLogin(request, response);
}
public static void validaLogin (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String user = request.getParameter("userName");
String pass = request.getParameter("password");
String result;
String usuario;
try {
Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Namoro", "root", "");
System.out.println("Got Connection");
Statement s = con.createStatement();
String sql = "select email, senha from cadastro" + "where email='" + user + "'" + "and senha='" + pass + "'";
ResultSet rs = s.executeQuery(sql);
result = rs.getString("email");
// response.setContentType("text/html"); // tenta mostrar na tela o resultado da consulta
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title> Login </title>" + result);
out.println("</head>");
out.println("<body>");
out.println("<center>");
out.println("</center>");
out.println("</body>");
out.println("</html>");
if (rs.next()) {
result = rs.getString("email");
usuario = user;
if (result.equals(usuario)) {
System.out.println("<script>top.document.location.href='login.jsp';</script>");
RequestDispatcher rd =
request.getRequestDispatcher("index.jsp");
rd.forward(request, response);
}
rs.close();
s.close();
con.close();
} else {
response.setContentType("text/html");
out.println("<html>");
out.println("<head>");
out.println("<title> Erro </title>");
out.println("</head>");
out.println("<body>");
out.println("<center>");
out.println("</center>");
out.println("</body>");
out.println("</html>");
}
}
catch (SQLException ex) {
ex.printStackTrace();
}
catch (ClassNotFoundException e){
System.out.println(e.toString());
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// sendLoginForm(request, response);
validaLogin(request, response);
String email = request.getParameter("email");
String senha = request.getParameter("senha");
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/BANCO", "root", "");
ps = conn.prepareStatement(
"SELECT email, senha FROM Cadastro " +
"WHERE email = ? AND senha = ?");
System.out.println("email: " + email);
System.out.println("senha: " + senha);
ps.setString(1, email);
ps.setString(2, senha);
rs = ps.executeQuery();
if (rs.next()) { // Usuário existênte.
System.out.println("Existênte!");
getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
} else {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title> Erro </title>");
out.println("</head>");
out.println("<body>");
out.println("<center>");
out.print("Usuário <b>" + email + "</b> Inexistênte!");
out.println("</center>");
out.println("</body>");
out.println("</html>");
}
} catch (Exception e) {
System.out.println("Erro: " + e.toString());
}
}
}
E abaixo está o código sql do banco:
-- phpMyAdmin SQL Dump
-- version 2.11.7
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Set 01, 2008 as 09:50
-- Versão do Servidor: 5.0.51
-- Versão do PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Banco de Dados: `Namoro`
--
-- --------------------------------------------------------
--
-- Estrutura da tabela `cadastro`
--
CREATE TABLE IF NOT EXISTS `cadastro` (
`id` int(5) NOT NULL auto_increment,
`nome` varchar(20) NOT NULL,
`sobrenome` varchar(30) NOT NULL,
`email` varchar(40) NOT NULL,
`senha` varchar(8) NOT NULL,
`sexo` varchar(2) NOT NULL,
`nascimento` date NOT NULL,
`pais` varchar(15) NOT NULL,
`idioma` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Extraindo dados da tabela `cadastro`
--
INSERT INTO `cadastro` (`id`, `nome`, `sobrenome`, `email`, `senha`, `sexo`, `nascimento`, `pais`, `idioma`) VALUES
(1, 'Fabio', 'Vargas', '[email removido]', '123', 'm', '1979-08-02', 'Brasil', 'Português'),
(2, 'Fabiana', 'Dorneles', '[email removido]', '123', 'f', '1982-11-26', 'Brasil', 'Português');
Lhe agradeço muito se vc conseguir descobrir o que está errado. Um abraço.