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.

Crear aplicación móvil J2ME desde cero con NetBeans

Todos los ejemplos hechos en este blog son para emuladores o dispositivos que soporten configuración CLCD-1.1 y perfil MIDP-2.0 hacia adelante y los ejemplos serán desarrollados en el IDE Netbeans. 1. INTRODUCCIÓN Veremos como crear una aplicación móvil J2ME en NetBeans, esto sera indiferente de la versión NetBeans que estes usando; el proceso es similar en todas las versiones (6.x, 7.x, etc.). Aprenderemos a crear proyectos, paquetes, Midlets y clases.

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