|
Compartir este tema:
|
Servlet encargado de recibir una petición POST desde un formulario html y verificar la información recibida en una base de datos mysql, usando para ello el conector jdbc. Si la información es correcta, crea una cookie en el navegador y carga la pagina que deseemos, de ser falsa, carga otra pagina. (Cambios mínimos en el código son requeridos).
Nombre del Programa: Servlet DataBase.
Versión del Programa: NA.
Autor(es): Oswaldo Gutierrez (-Gosw-) y Widnelzy Salas (yuyiwid).
Sistema Operativos: Windows XP SP3.
Lenguaje en que fue programado: Java 1.6.x.
Licencia bajo la que fue liberado: Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 , Ver Registro en SafeCreative.org.
Fecha de lanzamiento: 14 de Octubre del 2009.
Idioma(s): NA.
Captura de pantalla del programa ejecutándose: NA.
Código:
import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; import java.sql.*; public class ServletDataBase extends HttpServlet { static String login = "User"; static String password = "Password"; static String url = "jdbc:mysql://localhost:3306/BaseDeDatos"; @Override public void init(ServletConfig conf) throws ServletException { super.init(conf); } @Override protected void doPost(HttpServletRequest peticion, HttpServletResponse respuesta) throws ServletException, IOException { String usuario = peticion.getParameter("usuario"); //vendra del formulario String pass = peticion.getParameter("pass"); //vendra del formulario Connection conexion = null; //Objeto para la conexión a la BD Statement sentencia = null; //Objeto para la ejecutar una sentencia ResultSet resultados = null;//Objeto para guardar los resultados Cookie[] cks = peticion.getCookies(); respuesta.setContentType ("text/html"); PrintWriter salida = respuesta.getWriter(); try { //Leemos el driver JDBC Class.forName("com.mysql.jdbc.Driver"); //Nos conectamos a la BD conexion = DriverManager.getConnection(url,login,password); //Creamos una sentencia a partir de la conexión sentencia=conexion.createStatement(); //Tomamos todos los datos de la asignaturas resultados=sentencia.executeQuery("SELECT user,password FROM usuarios"); //Preguntamos si existe Usuario while(resultados.next()) { if(usuario.equals(resultados.getString("user")) && pass.equals(resultados.getString("password"))) { if (cks == null) { Cookie LogCedea = new Cookie("Usuario",usuario); LogCedea.setMaxAge(900); LogCedea.setPath("/CarpetaDeAplicacion"); respuesta.addCookie(LogCedea); salida.println("<?xml version = \"1.0\"?>"); salida.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">"); salida.println("<html xmlns = \"http://www.w3.org/1999/xhtml\">"); salida.println("<head>"); salida.println("<title>Login Correcto</title>"); salida.println("<meta http-equiv=\"Refresh\" content=\"3;url=http://La_Direccion_que_desees_que_llame\">"); salida.println("</head>"); salida.println("<body>"); salida.println("<br /> <h1>Bienvenido</h1> <p>"); salida.println("<br /> <h3>Espere la Redireccion</h3> <p>"); salida.println("</body>"); salida.println("</html>"); salida.close(); } else { salida.println("<?xml version = \"1.0\"?>"); salida.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">"); salida.println("<html xmlns = \"http://www.w3.org/1999/xhtml\">"); salida.println("<head>"); salida.println("<title>Login Correcto</title>"); salida.println("<meta http-equiv=\"Refresh\" content=\"3;url=http://La_Direccion_que_desees_que_llame\">"); salida.println("</head>"); salida.println("<body>"); salida.println("<br /> <h1>Bienvenido</h1> <p>"); salida.println("<br /> <h3>Espere la Redireccion</h3> <p>"); salida.println("</body>"); salida.println("</html>"); salida.close(); } } } salida.println("<?xml version = \"1.0\"?>"); salida.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">"); salida.println("<html xmlns = \"http://www.w3.org/1999/xhtml\">"); salida.println("<head>"); salida.println("<title>Login Incorrecto</title>"); salida.println("<meta http-equiv=\"Refresh\" content=\"3;url=http://La_Direccion_que_desees_que_llame\">"); salida.println("</head>"); salida.println("<body>"); salida.println("<br /> <h1>Usuario o Clave Incorrectos, por favor intente de nuevo</h1> <p>"); salida.println("<br /> <h3>Espere la Redireccion</h3> <p>"); salida.println("</body>"); salida.println("</html>"); salida.close(); } catch (ClassNotFoundException e1) { salida.println("No se encontró el driver de la BD: "+e1.getMessage()); } catch (SQLException e2) { salida.println("Fallo en SQL: "+e2.getMessage()); } finally { try { if (conexion!=null) conexion.close(); } catch (SQLException e3) { salida.println("Fallo al desconectar SQL: "+e3.getMessage()); } } } @Override protected void doGet(HttpServletRequest peticion, HttpServletResponse respuesta) throws ServletException, IOException { doPost(peticion, respuesta); } }
