package servlets.exemplos;

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*;
import java.sql.*;

public class ExemploServlet08 extends HttpServlet {

	public void doPost(HttpServletRequest solicitacao,   HttpServletResponse resposta) throws IOException, ServletException {
		
		Connection conexao;
		PreparedStatement declaracao;
		ResultSet resultado = null;
		
		String id = solicitacao.getParameter("ID");
		String senha = solicitacao.getParameter("senha");
		String nome = null;
		
		if (id.length() == 0 || senha.length() == 0) {
			
			resposta.setContentType("text/html");
			PrintWriter out = resposta.getWriter();
			
			out.println("<html>");
			out.println("<head>");
			out.println("<meta http-equiv='refresh' content='4; url=javascript:history.back();'>");
			out.println("</head>");
			out.println("<body>");
			out.println("<center>");
			out.println("<h1>Preencha todos os campos!</h1>");
			out.println("</center>");
			out.println("</body>");
			out.println("</html>");
			
		} else {
			
			try {
				Class.forName("org.gjt.mm.mysql.Driver").newInstance();
			} catch (Exception e) {
				System.err.println(e);
			}
			
			try {
				conexao = DriverManager.getConnection("jdbc:mysql://localhost/teste");
				String pesquisa = "SELECT nome FROM clientes WHERE ID = ? AND senha = ?";
				declaracao = conexao.prepareStatement(pesquisa);
				
				declaracao.setString(1, id);
				declaracao.setString(2, senha);
				resultado = declaracao.executeQuery();
				while (resultado.next()) {
					nome = resultado.getString(1);
				}
								
			} catch (SQLException e) {
				System.err.println(e);
			}
			
			if (nome == null) {
				
				resposta.setContentType("text/html");
				PrintWriter out = resposta.getWriter();
			
				out.println("<html>");
				out.println("<head>");
				out.println("<meta http-equiv='refresh' content='4; url=javascript:history.back();'>");
				out.println("</head>");
				out.println("<body>");
				out.println("<center>");
				out.println("<h1>Nome e/ou senha invalidos!<br>Confira os dados e tente novamente.</h1>");
				out.println("</center>");
				out.println("</body>");
				out.println("</html>");
				
				
			} else {
				
				// Retorna a sessão atual. Caso não haja, cria uma.
				HttpSession sessao = solicitacao.getSession(true);
				
				Usuario usuario = new Usuario();
				usuario.setIdent(id);
				usuario.setNome(nome);
				usuario.setCodPedido("123456789Manoel");

				sessao.setAttribute("atUsuario", usuario);
				
				resposta.setContentType("text/html");
				PrintWriter out = resposta.getWriter();
			
				out.println("<html>");
				out.println("<body>");
				out.println("Ola!" + nome);
				out.println("<center>");
				out.println("<h2>A nova sessão foi criada.</h2>");
				out.println("<h2>O novo cookie foi criado.</h2>");
				out.println("<font face='verdana' size='2'>");
				out.println("<a href=ES09>Clique aqui para continuar</a>");
				out.println("</font>");
				out.println("</center>");
				out.println("</body>");
				out.println("</html>");
			}
		}
	}
}
