Ir al contenido principal

28/12/2012 LP III

Crear una BD con el nombre BDLPIII y hacer el siguiente modelo de BD

1. Crear un unidad persistente asociando a nuestra base de datos

2. Creamos las clases entidades desde la BD






3. Creamos un Controlador para las Entidades




===================================================================

4. En el index.jsp dentro del cuerpo del documento ira el codigo de nuestro formulario de Logeo

<h1>Autenticacion Segura - Sistema de Venta Licores </h1>
        <form action="ServletControl" method="POST">
            <table border="1">
                <tbody>
                    <tr>
                        <td>Codigo</td>
                        <td><input type="text" name="txtCodigo" value="" /></td>
                    </tr>
                    <tr>
                        <td>Clave</td>
                        <td><input type="password" name="txtClave" value="" /></td>
                    </tr>
                    <tr>
                        <td><input type="submit" value="Autenticar" name="btnAutenticar" /></td>
                        <td><input type="hidden" name="hdnOpcion" value="Login" /></td>
                    </tr>
                </tbody>
            </table>
        </form>


Este formulario se comunicara con un SERVLET de nombre "ServletControl"
        <form action="ServletControl" method="POST">
Ademas mandaremos un parametro oculto al Servlet para reutilizar el SERVLET
        <input type="hidden" name="hdnOpcion" value="Login" />

5. Agregamos un metodo que validara el Usuario Vendedor en la clase "TVendedorJpaController"

    public TVendedor validaTVendedor(String codigo, String clave) {
        EntityManager em = null;
        try {
            em = getEntityManager();
            String sql = "Select v FROM TVendedor v where v.codigo=:parCodigo and v.clave=:parClave";
            Query query = em.createQuery(sql);
            query.setParameter("parCodigo", codigo);
            query.setParameter("parClave", clave);

            return (TVendedor) query.getSingleResult();

        } catch(Exception e) {
            System.out.println("error: " + e.getMessage());
            return null;
        }
        finally {
            em.close();
        }
    }


5. Creamos un Servlet de Nombre ServletControl dentro del paquete edu.sise.servlet, Dentro del metodo processRequest Agregamos el siguiente bloque de código
    - Primero recuperamos el valor del control oculto que se declaro en el formulario de logeo

                       
            String opcionJsp = request.getParameter("hdnOpcion");

            if (opcionJsp.equals("Login")) {
                String codigo = request.getParameter("txtCodigo");
                String clave = request.getParameter("txtClave");

                TVendedorJpaController vendedorJPAController = new TVendedorJpaController();
                TVendedor objVendedor =  vendedorJPAController.validaTVendedor(codigo, clave);

                

            }

6. Creamos un JSP de nombre "menu", este estara incluido en todos los JSP que se muestren despues del Login.
    - El cuerpo del JSP tendra el siguiente codigo

<table border="1">
    <tbody>
        <tr>
            <td>Listar Productos</td>
            <td>Listar Clientes</td>
            <td>Listar Ventas</td>
            <td>Salir</td>
        </tr>
    </tbody>
</table>

 
7. Creamos un JSP de nombre "listarprod", este listara los productos y nos dara una opcion adicional para agregar al carrito de compras
    - El JSP tendra el siguiente código
<%@page import="edu.sise.entity.controller.TProductoJpaController;
import java.util.List" %>
<%@page import="edu.sise.entity.TProducto;
import java.util.Iterator" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<%
            TProductoJpaController productoJpaController = new TProductoJpaController();
            List<TProducto> listaProducto = productoJpaController.findTProductoEntities();
%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <jsp:include page="menu.jsp" flush="true" />
        <br>
        <br>
        <%
                    if (listaProducto != null) {
                        for (Iterator<TProducto> iterator = listaProducto.iterator(); iterator.hasNext();) {
                            TProducto producto = iterator.next();
        %>
        <table border="1">
            <thead>
                <tr>
                    <th>Codigo</th>
                    <th>Descripcion</th>
                    <th>Stock</th>
                    <th>Precio</th>
                    <th>Comprar</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><%= producto.getCodigo()%></td>
                    <td><%= producto.getDescripcion()%></td>
                    <td><%= producto.getStock()%></td>
                    <td><%= producto.getPrecio()%></td>
                    <td></td>
                </tr>
            </tbody>
        </table>

        <%
                        }
                    }
        %>

    </body>
</html>


8. Despues de esto agregamos que cuando el usuario se logea exitosamante redireccione al "listarprod.JSP", para esto agregamos esta linea en en el Servlet

                if (objVendedor != null) {
                    response.sendRedirect("listarprod.jsp");
                }
















Comentarios

Entradas populares de este blog

Estructura y distribución del IDE Eclipse (ADT)

Entenderemos como esta estructurado y organizado eclipse (ADT es una distribución de eclipse), y asi no complicarnos en nuestro desarrollo en saber donde encontrar algo, dado que muchos desarrolladores quizá es su primera experiencia con eclipse. Esta explicación aplica para cualquier IDE Eclipse dado que todos se rigen bajo el mismo paradigma. Desarrollo 1. Workspace, eclipse trabaja los proyectos dentro de un Workspace (espacio de trabajo) que es la ruta de una carpeta física en disco sale para escoger la ruta al abrir el eclipse, recomiendo no enrutar a una carpeta que este en una memoria USB porque a veces se corrompe y es lento compilando 2. Estructura del IDE , tiene 4 regiones importantes ubicadas en la forma como se muestra la imagen, ademas hay otras dos secciones encerradas de color Rojo una ya conocida como menus y herramientas y la otra como perspectivas <1> Es la vista de proyectos, los puedes ver agrupados como proyecto, como estructura de carpetas, etc. ...

APK, Proceso de empaquetado y desempaquetado (compilación e instalación de un APK en un dispositivo Android)

El archivo ejecutable o paquete de instalación de una aplicación Android tiene una extensión . APK , esta es un empaquetado (conjunto de archivos compilados y recursos dentro de un espacio de nombre o paquete) que se crea cuando compilamos un proyecto Android. Asimismo cuando este .APK se instala en un dispositivo Android; lo que hace el sistema operativo Android es desempaquetar este . APK y crear una estructura con ese nombre de espacio o paquete; este es creado dentro de su directorio de aplicaciones en el sistema de archivos del dispositivo. Notas Adicionales - Por eso el nombre del Package Name de una aplicación debe ser único, haciendo la comparación con una estructura de carpetas no podemos tener 2 nombres de carpetas iguales en una ruta X. - Para los que no recuerdan cual es el package name de su proyecto este es creado al inicio del proyecto, pero también lo pueden encontrar en el Manifest.xml

Estructura y distribución de un proyecto en Android, Elementos de un proyecto Android

Esta formado básicamente por un archivo descriptor (AndroidManifest.xml), el código fuente .java y los recursos Normalmente el código Java necesita y hace uso de los recursos de la aplicación, estos recursos no son opcionales sino que son necesarios para tener un desarrollo completo de un programa en Android. Se recomienda leer “ estructura y distribución del IDE eclipse ” si no tiene claro el funcionamiento del IDE eclipse ADT La siguiente tabla explique que contiene cada carpeta de nuestra estructura de proyecto ProjectSaludo Nombre del proyecto src Source packages, paquetes y las clases .java (código fuente)   gen Generated, código autogenerado automáticamente por el SDKuna clase R.java, esta lo hace la propia DVM   Android x.x API de Android usada (2.2, 2.3, 4.1, 4.2 , x.x)   assets Su contenido es opcional, no obstante puede contener ficheros usados por la app, por ejemplo un .properties   bin Contiene los compilados del código y el A...