Está en la página 1de 6

1.

Crear en PostgreSQL una base de datos llamada dbalumno


2. Crear la tabla usuario, con los siguientes campos
id integer
login character(10)
password character (8)
3. Insertar al menos 2 registros en la tabla
4. Agregar en libreras el Driver JDBC de Postgres (PostgreSQL JDBC Driver)
5. Crear una nueva aplicacin web
6. Agregar al proyecto la librera del punto 4
7. Crear los paquetes: pkServlet y pkModelo
8. Dentro de pkModelo crear la clase Usuario con el siguiente cdigo
public class Usuario {
private int id;
private String login;
private String password;

public Usuario()
{
}

public Usuario(int id, String login, String password)
{
this.id = id;
this.login = login;
this.password = password;
}

public void setId(int id)
{
this.id = id;
}

public void setLogin(String login)
{
this.login = login;
}

public void setPassword(String password)
{
this.password = password;
}

public int getId()
{
return id;
}

public String getLogin()
{
return login;
}


public String getPassword()
{
return password;
}
}

9. Crear dentro del paquete pkServlet la clase DAOEjercicio, con el siguiente cdigo
// Dependiendo de la opcin seleccionada desde la vista, esta clase determinar la accin a
realizar y enviar el flujo hacia la vista que corresponda.
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 java.sql.Statement;
import java.util.Enumeration;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import pkModelo.*;

public class DAOEjercicio extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
String testUser = (String) request.getSession().getAttribute("user");
if (request.getParameter("operacion").equals("ingresar"))
{
String login=request.getParameter("login");
String password=request.getParameter("password");

boolean resultado=validarIngreso(login, password);
System.out.println("El resultado fue "+resultado);
if (resultado==true)
{
request.getSession(true).setAttribute("user", login);

request.getRequestDispatcher("/DAOEjercicio?operacion=Listar").forward(request,
response);
}
else
System.out.println("acceso denegado");
}
if (request.getParameter("operacion").equals("Agregar"))
{
Usuario usr=new Usuario();
usr.setId(Integer.parseInt(request.getParameter("id")));
usr.setLogin(request.getParameter("login"));
usr.setPassword(request.getParameter("password"));

boolean resultado=agregarUsuario(usr);
String mensajeOperacion="Error en la operacion";
if (resultado==true)
mensajeOperacion="Operacion de alta exitosa";
request.getSession(true).setAttribute("resultado",
mensajeOperacion);
request.getRequestDispatcher("Alta.jsp").forward(request,
response);

}
if (request.getParameter("operacion").equals("Salir"))
{
request.getSession().setAttribute("user", null);
request.getRequestDispatcher("index.html").forward(request,
response);

}
if (request.getParameter("operacion").equals("Listar") &&
!testUser.isEmpty())
{
Usuario usr = new Usuario();
Vector v = new Vector();
try{
Connection con=conectar();
PreparedStatement ps=con.prepareStatement("select * from
usuario");
ResultSet rs=ps.executeQuery();
while(rs.next()) {
v.add(new
Usuario(rs.getInt("id"),rs.getString("login"),rs.getString("password")));
System.out.println("El resultado en listar fue
"+rs.getString("login"));

}
rs.close();
con.close();

Enumeration e = v.elements();

request.setAttribute("colection", e);
request.getRequestDispatcher("show.jsp").forward(request,
response);

} catch(Exception e) {
e.printStackTrace() ;
}
}
if (request.getParameter("operacion").equals("Editar") )

{
try{
Connection con=conectar();
PreparedStatement ps=con.prepareStatement("select * from
usuario where id=?");
ps.setInt(1, Integer.parseInt(request.getParameter("id")));
//ps.setString(1, request.getParameter("id"));
ResultSet rs=ps.executeQuery();
Usuario Usr = new Usuario();
while(rs.next()) {
Usr.setId(rs.getInt("id"));
Usr.setLogin(rs.getString("login"));
Usr.setPassword(rs.getString("password"));
System.out.println("El resultado en editar fue
"+rs.getString("login"));
}
rs.close();
con.close();
request.setAttribute("usuario", Usr);
request.getRequestDispatcher("edit.jsp").forward(request,
response);

} catch(Exception e) {
e.printStackTrace() ;
}
}
if (request.getParameter("operacion").equals("Update") )
{

try{
Statement stmt;
String id=request.getParameter("id");
String login=request.getParameter("login");
String password=request.getParameter("password");

Connection con=conectar();

String updateString1;
updateString1 = "UPDATE usuario SET login='"+login+"',
password='"+password+"' WHERE id="+id;

stmt = con.createStatement();
stmt.executeUpdate(updateString1);

stmt.close();
con.close();


request.getRequestDispatcher("/DAOEjercicio?operacion=Listar").forward(request,
response);
} catch(Exception e) {
e.printStackTrace() ;
}
}
}
}

public boolean agregarUsuario(Usuario usr)
{
boolean resultado=false;
try{
Connection con=conectar();
PreparedStatement ps=con.prepareStatement("insert into usuario values
(?,?,?)");
ps.setInt(1, usr.getId());
ps.setString(2, usr.getLogin());
ps.setString(3, usr.getPassword());
int filasAfectadas=ps.executeUpdate();
if (filasAfectadas>0)
{
resultado=true;
}

}catch(Exception e) {
e.printStackTrace() ;
}
return resultado;
}


public Connection conectar()
{
Connection con=null;
try{
Class.forName("org.postgresql.Driver");
con = DriverManager.getConnection
("jdbc:postgresql://localhost/dbalumno?user=miusuario&password=mipassword")
;
}catch(ClassNotFoundException cnfe)
{
cnfe.printStackTrace();
}

catch(SQLException sqle)
{
sqle.printStackTrace();
}
return con;
}

public boolean validarIngreso(String login, String password)
{
boolean resultado=false;
try{
Connection con=conectar();
System.out.println(login);
System.out.println(password);
PreparedStatement ps;
ps =con.prepareStatement("select * from usuario where login=? and
password=?");
ps.setString(1, login);
ps.setString(2, password);
ResultSet rs=ps.executeQuery();
while(rs.next())
{
resultado=true;
}
}catch(Exception e) {
e.printStackTrace() ;
}
return resultado;
}


// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on
the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request


* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>

}

10. En la funcin conectar, especificar las credenciales correctas para su DBMS
11. En el archivo index.html agregar el siguiente cdigo
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Validar Usuario</title>
</head>
<body>
<form action="DAOEjercicio" method="get">
login:
<input type="text" name="login"><br>
password:
<input type="text" name="password"><br>
<input type="submit" name="operacion" value="ingresar"><br>
</form>
</body>
</html>

12. Copiar las vistas, para esto, insertar en la carpeta WEB Pages los archivos.
Alta.jsp
Edit.jsp
Show.jsp

También podría gustarte