Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 1/35 CURSO JAVA WEB DE CERO A PROFESION AL Empieza tu carrera profesional como un Java Web Developer y aprende a crear aplicaciones usando las tecnologías de la plataforma Java EE. Más información: h�ps://programacionful CÓMO CREAR UN CRUD EN JAVA WEB CON JSP Y SERVLET (h�ps://www.ecodeup.com) Programación Java EE (h�ps://www.ecodeup.com/category/programacion-ee/) Cómo crear un CRUD en Java Web con JSP y Servlet 11 junio, 2017 (h�ps://www.ecodeup.com/como-crear-un- crud-en-java-web-con-jsp-y-servlet/) Elivar Largo (h�ps://www.ecodeup.com/author/elargo/) CÓMO CREAR UN CRUD EN JAVA WEB CON JSP Y SERVLET Buscar https://programacionfullstack.com/ https://www.ecodeup.com/ https://www.ecodeup.com/category/programacion-ee/ https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ https://www.ecodeup.com/author/elargo/ 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 2/35 lstack.com/ (h�ps://programacionfu llstack.com/) ENCUESTAS Qué temas de programación web te gustaría aprender? Java Web (JSP, Hibernate, JSF, Web Services) Programación con PHP (Ajax, Base de datos, HTML) Spring Framework Framework Laravel Programación móvil con Android JavaScript (Node, Frameworks JavaScript) Java SE Voto Ver resultados ENCUESTAS Por qué quisieras aprender estos temas? Quisiera a futuro postular para un trabajo Estoy trabajando actualmente y quiero mejorar mis habilidades Hola que tal, bienvenido a este nuevo ar�culo, en donde aprenderás cómo crear un CRUD en Java Web con JSP y Servlet. Aprende este y otros temas de Programación Java Web. Accede gra�s al Curso de Java EE y suscribete al canal de Youtube. (h�ps://www.youtube.com/playlist? list=PL3vxkSlW2FvWzjf0NdxcivmyhrW6CdxhB ) Para este ejercicio usaremos Maven para la ges�ón de librerías, aclarar también que si bien es cierto que el CRUD es de una sola tabla, el tutorial es muy prác�co ya que te da las bases para que tu con�núes de forma autodidacta aplicando esos conocimientos en un proyecto más grande. (h�ps://www.youtube.com/channel/UCViAh- P1qmZ2-5F-UTx9MlA) QUE NECESITAS? Tener instalado Java 8, descargar Eclipse Neon y configurado con Apache Tomcat, si no �enes instalado nada de lo anterior, puedes hacerlo revisando estos tutoriales: Instalar Java 8 (h�ps://www.ecodeup.com/descargar-instalar- java-8/), Consola VS IDE (h�ps://www.ecodeup.com/ejecutar-aplicacion- java-desde-la-consola-vs-ide/), Integrar Apache en Eclipse (h�ps://www.ecodeup.com/integra- apache-tomcat-en-eclipse-neon-menos-5- minutos/). Tener instalado MySQL con algún entorno para poder administrarlos bien sea phpMyadmin o MySQL Workbench, si no �enes instalado, puedes revisar estos tutoriales: Instalar MySQL y MySQL WORKBENCH en Windows 10 (h�ps://www.ecodeup.com/aprende-a-instalar- https://programacionfullstack.com/ https://www.youtube.com/playlist?list=PL3vxkSlW2FvWzjf0NdxcivmyhrW6CdxhB https://www.youtube.com/channel/UCViAh-P1qmZ2-5F-UTx9MlA https://www.ecodeup.com/descargar-instalar-java-8/ https://www.ecodeup.com/ejecutar-aplicacion-java-desde-la-consola-vs-ide/ https://www.ecodeup.com/integra-apache-tomcat-en-eclipse-neon-menos-5-minutos/ https://www.ecodeup.com/aprende-a-instalar-mysql-y-mysql-workbench-en-windows-10/ https://www.ecodeup.com/instalar-wampserver-windows/ 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 3/35 Quiero emprender un proyecto Por pasa�empo / Sólo por aprender Voto Ver resultados CATEGORÍA S Programación Android (h�ps://www.ecodeup. com/category/program acion-android/) (1) Programación con Laravel (h�ps://www.ecodeup. com/category/program acion-con-laravel/) (3) Programación General (h�ps://www.ecodeup. com/category/program acion-general/) (6) Programación Java EE (h�ps://www.ecodeup. com/category/program acion-ee/) (12) Programación Java SE (h�ps://www.ecodeup. com/category/program acion-java/) (26) Programación JavaScript (h�ps://www.ecodeup. com/category/program acion-javascript/) (2) Programación PHP (h�ps://www.ecodeup. mysql-y-mysql-workbench-en-windows-10/) o bien Cómo instalar WampServer en Windows 10 (h�ps://www.ecodeup.com/instalar- wampserver-windows/). HOJA DE RUTA DE LO QUE VAMOS HACER Crear la base de datos con la tabla ar�culos. Crear el proyecto Web. Conver�r el proyecto Web a Maven y configurar el archivo pom.xml. Definir la conexión a la base de datos usando el archivo web.xml Crear el modelo para la tabla ar�culos. Crear la clase DAO (métodos CRUD) y Controlador. Crear las Vistas. Nota: Si te interesa seguir el tema de programación Web con Java, puedes revisar mi Curso de Programación Java Web (h�ps://programacionfullstack.com/) donde aprenderás paso a paso como desarrollar aplicaciones web con Java. De momento dejo una vista previa de como va quedar la vista principal de proyecto. CREAR LA BASE DE DATOS Y LA TABLA ARTÍCULOS Para crear la base de datos junto con la tabla, bien puedes hacerlo de forma gráfica o usar el siguiente script Descarga Script (h�ps://www.dropbox.com/s/rhcxm55foa5est3 /ar�culos.sql?dl=0). La tabla ar�culos �ene 5 https://www.ecodeup.com/category/programacion-android/ https://www.ecodeup.com/category/programacion-con-laravel/ https://www.ecodeup.com/category/programacion-general/ https://www.ecodeup.com/category/programacion-ee/ https://www.ecodeup.com/category/programacion-java/ https://www.ecodeup.com/category/programacion-javascript/ https://www.ecodeup.com/category/programacion-php/ https://www.ecodeup.com/aprende-a-instalar-mysql-y-mysql-workbench-en-windows-10/ https://www.ecodeup.com/instalar-wampserver-windows/ https://programacionfullstack.com/ https://www.dropbox.com/s/rhcxm55foa5est3/articulos.sql?dl=0 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 4/35 com/category/program acion-php/) (23) Spring (h�ps://www.ecodeup. com/category/spring/) (1) WordPress, Diseño Web y Blogging (h�ps://www.ecodeup. com/category/aprende- crear-tu-blog/) (4) ARTÍCULOS RECIENTES El patrón de diseño Modelo Vista Controlador y la librería JSTL (h�ps://www.ecodeup. com/el-patron-de- diseno-modelo-vista- controlador-y-la- libreria-jstl/) Introducción a JPA (h�ps://www.ecodeup. com/introduccion-a- jpa/) Cómo crear un CRUD en Java con JPA e Hibernate (h�ps://www.ecodeup. com/como-crear-un- crud-en-java-con-jpa- e-hibernate/) Cómo crear un web services SOAP usando JAX-WS en Eclipse (h�ps://www.ecodeup. com/como-crear-un- campos (id, codigo, nombre, descripcion, existencia, precio) que hacen referencia al ar�culo, la clave primaria es el campo id y es un campo auto numérico. Recuerda que antes de ejecutar el script para crear la tabla, debes crear la base de datos y esta debe llamarse javaweb_crud. ESTRUCTURA COMPLETA DEL PROYECTO Esta es la estructura del proyecto que debe quedar al final del tutorial y que la iré explicando en el transcurso del mismo. CREAR EL WEB DYNAMIC PROJECT Como la idea de este ar�culo es aprender un poco de Java Web con JSP y Servlet vamos a crear un proyecto Web Dynamic Project, como se muestra en la siguiente imagen. https://www.ecodeup.com/category/programacion-php/ https://www.ecodeup.com/category/spring/ https://www.ecodeup.com/category/aprende-crear-tu-blog/ https://www.ecodeup.com/el-patron-de-diseno-modelo-vista-controlador-y-la-libreria-jstl/ https://www.ecodeup.com/introduccion-a-jpa/ https://www.ecodeup.com/como-crear-un-crud-en-java-con-jpa-e-hibernate/ https://www.ecodeup.com/como-crear-un-web-services-soap-usando-jax-ws-en-eclipse/ https://www.dropbox.com/s/rhcxm55foa5est3/articulos.sql?dl=0 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/5/35 web-services-soap- usando-jax-ws-en- eclipse/) Cómo crear un repositorio local con Git y subirlo a GitHub (h�ps://www.ecodeup. com/como-crear-un- repositorio-local-con- git-y-subirlo-a-github/) SUSCRIPCIÓ N Si no lo encuentras en en esa opción, pincha al final en la opción Other->Web->Dynamic Web Project, lo siguiente es darle el nombre el proyecto y crearlo. Es importante que en el proyecto, la versión de Servlet sea la 3.1 y que esté atado al contenedor de Servlet Apache Tomcat. Finalmente el proyecto quedaría como se muestra a con�nuación. Suscríbete ahora y recibe en tu correo los mejores contenidos sobre Programación Web. Nombre Email He leído y acepto las políticas de privacidad SUSCRIBIRME https://www.ecodeup.com/como-crear-un-web-services-soap-usando-jax-ws-en-eclipse/ https://www.ecodeup.com/como-crear-un-repositorio-local-con-git-y-subirlo-a-github/ 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 6/35 CONVERTIR EL PROYECTO A MAVEN La idea de usar Maven en un proyecto es poder ges�onar el uso de librerías que va u�lizar la aplicación, por lo que ya no tenemos que descargar los .jar, sino que Maven lo hará por nosotros, sólo bastará con indicarle en el archivo pom.xml, las librerías que vayamos a usar. En las siguientes imágenes, te muestro paso a paso como hacerlo, primero debes dar click derecho sobre el proyecto y luego seguir la imagen. Te va pedir algunos datos con respeto al proyecto Maven. Tus datos estarán protegidos y 100% libre de Spam 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 7/35 Ahora la vista del proyecto quedará de la siguiente manera, el archivo pom.xml es donde añadiremos las dependencias del proyecto, que son las librerías que vamos a usar. Finalmente se añade las dependencias al archivo pom.xml (jstl, jsp, servlet y MySQL) de manera que traiga las librerías desde su repositorio (las dependencias deben estar entre la e�queta <descrip�on> y <build>). 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 8/35 Una vez agregadas las dependencias debemos actualizar el proyecto de manera que los cambios surjan efectos. Te va indicar que proyecto se va actualizar y le das OK. Al actualizar el proyecto se descargarán automá�camente las librerías a u�lizar de modo que ahora el proyecto quedará como en la siguiente imagen. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifa <version>2.3.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifac <version>5.1.30</version> </dependency> </dependencies> 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 9/35 CREAR EL ARCHIVO WEB.XML Con la versión anterior a la 3.1 (Servlet) este archivo se generaba automá�camente, puesto que ahí se mapeaba todo lo referente a la configuración de los Servlets, con la versión 3.1 todo se lo hace con anotaciones dentro del mismo Servlet. Pues bien, dicho lo anterior, es necesario crear el archivo web.xml ya que vamos a cargar ahí las configuraciones para el acceso a la base de datos, hacemos esto por se una buena prác�ca, en cuanto a seguridades se refiere. Como te mencionaba, aquí vamos a cargar tanto la URL de conexión, así como el usuario y la clave, de tal manera que en las clases donde se acceda a la conexión sólo llamaremos a los atributos del archivo web.xml, la configuración del archivo debe quedar como sigue, no olvides que debes cambiar tu usuario y clave para entrar a MySQL. 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 10/35 CREAR LA CLASE PARA LA CONEXIÓN La clase para la conexión queda de la siguiente manera, básicamente lo que se hace es crear la conexión con los parámetros pasados desde el archivo web.xml, la clase con�ene dos métodos, uno para conectar y otro para desconectar, se añade también el acceso a la variable de la conexión jdbcConnec�on, de manera que se la pueda obtener desde cualquier parte del DAO, la clase debe estar dentro del paquete com.ecodeup.ar�culos.model. Nota: Si te interesa seguir el tema de programación Web con Java, puedes revisar mi Curso de Programación Java Web, con JSP, Servlet y JPA (h�ps://programacionfullstack.com/) donde aprenderás paso a paso como desarrollar aplicaciones web con Java. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSch <display-name>CRUD Artículos con JSP y Servlet <context-param> <param-name>jdbcURL</param-name> <param-value>jdbc:mysql://localhost:3306/java </context-param> <context-param> <param-name>jdbcUsername</param-name> <param-value>root</param-value> </context-param> <context-param> <param-name>jdbcPassword</param-name> <param-value></param-value> </context-param> </web-app> https://programacionfullstack.com/ 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 11/35 CREAR LA CLASE ARTICULO PARA EL MODELO Esta clase con�ene los atributos para mapear el objeto hacia la tabla de la base de datos y debe estar dentro del paquete com.ecodeup.ar�culos.model 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 package com.ecodeup.articulos.model; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /* * @autor: Elivar Largo * @web: www.ecodeup.com */ public class Conexion { private Connection jdbcConnection; private String jdbcURL; private String jdbcUsername; private String jdbcPassword; public Conexion(String jdbcURL, String jdbcUs this.jdbcURL = jdbcURL; this.jdbcUsername = jdbcUsername; this.jdbcPassword = jdbcPassword; } public void conectar() throws SQLException { if (jdbcConnection == null || jdbcConnect try { Class.forName("com.mysql.jdbc.Dri } catch (ClassNotFoundException e) { throw new SQLException(e); } jdbcConnection = DriverManager.getCon jdbcURL, } } public void desconectar() throws SQLException if (jdbcConnection != null && !jdbcConnec jdbcConnection.close(); } } public Connection getJdbcConnection() { return jdbcConnection; } } 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 12/35 CREAR LA CLASE LO MÉTODOS CRUD PARA LA TABLA ARTÍCULOS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 package com.ecodeup.articulos.model; /* * @autor: Elivar Largo * @ web: www.ecodeup.com*/ public class Articulo { private int id; private String codigo; private String nombre; private String descripcion; private double existencia; private double precio; public Articulo(int id, String codigo, String this.id = id; this.codigo = codigo; this.nombre = nombre; this.descripcion = descripcion; this.existencia = existencia; this.precio = precio; } //getters y setters public int getId() { return id; } public void setId(int id) { this.id = id; } public String getCodigo() { return codigo; } public void setCodigo(String codigo) { this.codigo = codigo; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String getDescripcion() { return descripcion; } public void setDescripcion(String descripcion this.descripcion = descripcion; } public double getExistencia() { return existencia; } public void setExistencia(double existencia) this.existencia = existencia; } public double getPrecio() { return precio; } public void setPrecio(double precio) { this.precio = precio; } } 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 13/35 Esta clase con�ene todos los métodos CRUD para la tabla ar�culos y está organizada de la siguiente manera, esta clase debe estar dentro del paquete com.ecodeup.ar�culos.dao. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 package com.ecodeup.articulos.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.ecodeup.articulos.model.Articulo; import com.ecodeup.articulos.model.Conexion; /* * @autor: Elivar Largo * @web: www.ecodeup.com */ public class ArticuloDAO { private Conexion con; private Connection connection; public ArticuloDAO(String jdbcURL, String jd System.out.println(jdbcURL); con = new Conexion(jdbcURL, jdbcUsername } // insertar artículo public boolean insertar(Articulo articulo) t String sql = "INSERT INTO articulos (id, System.out.println(articulo.getDescripci con.conectar(); connection = con.getJdbcConnection(); PreparedStatement statement = connection statement.setString(1, null); statement.setString(2, articulo.getCodig statement.setString(3, articulo.getNombr statement.setString(4, articulo.getDescr statement.setDouble(5, articulo.getExist statement.setDouble(6, articulo.getPreci boolean rowInserted = statement.executeU statement.close(); con.desconectar(); return rowInserted; } // listar todos los productos public List<Articulo> listarArticulos() thro List<Articulo> listaArticulos = new Arra String sql = "SELECT * FROM articulos"; con.conectar(); connection = con.getJdbcConnection(); Statement statement = connection.createS ResultSet resulSet = statement.executeQu while (resulSet.next()) { 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 14/35 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 int id = resulSet.getInt("id"); String codigo = resulSet.getString(" String nombre = resulSet.getString(" String descripcion = resulSet.getStr Double existencia = resulSet.getDoub Double precio = resulSet.getDouble(" Articulo articulo = new Articulo(id, listaArticulos.add(articulo); } con.desconectar(); return listaArticulos; } // obtener por id public Articulo obtenerPorId(int id) throws Articulo articulo = null; String sql = "SELECT * FROM articulos WH con.conectar(); connection = con.getJdbcConnection(); PreparedStatement statement = connection statement.setInt(1, id); ResultSet res = statement.executeQuery() if (res.next()) { articulo = new Articulo(res.getInt(" res.getString("descripcion") } res.close(); con.desconectar(); return articulo; } // actualizar public boolean actualizar(Articulo articulo) boolean rowActualizar = false; String sql = "UPDATE articulos SET codig con.conectar(); connection = con.getJdbcConnection(); PreparedStatement statement = connection statement.setString(1, articulo.getCodig statement.setString(2, articulo.getNombr statement.setString(3, articulo.getDescr statement.setDouble(4, articulo.getExist System.out.println(articulo.getPrecio()) statement.setDouble(5, articulo.getPreci statement.setInt(6, articulo.getId()); rowActualizar = statement.executeUpdate( statement.close(); con.desconectar(); return rowActualizar; } //eliminar public boolean eliminar(Articulo articulo) t boolean rowEliminar = false; String sql = "DELETE FROM articulos WHER con.conectar(); connection = con.getJdbcConnection(); PreparedStatement statement = connection statement.setInt(1, articulo.getId()); rowEliminar = statement.executeUpdate() 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 15/35 CREAR EL SERVLET QUE SIRVE DE CONTROLADOR El Servlet se llama AdminAr�culo, y se encuentra dentro del paquete com.ecodeup.ar�culos.controller. En el Servlet manejamos todas las pe�ciones como por ejemplo para crear un nuevo ar�culo, actualizar y eliminar. 124 125 126 127 128 129 statement.close(); con.desconectar(); return rowEliminar; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package com.ecodeup.articulo.controller; import java.io.IOException; import java.sql.SQLException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ecodeup.articulos.dao.ArticuloDAO; import com.ecodeup.articulos.model.Articulo; /** * Servlet implementation class AdminArticulo */ @WebServlet("/adminArticulo") public class AdminArticulo extends HttpServlet { private static final long serialVersionUID = ArticuloDAO articuloDAO; public void init() { String jdbcURL = getServletContext().get String jdbcUsername = getServletContext( String jdbcPassword = getServletContext( try { articuloDAO = new ArticuloDAO(jdbcUR } catch (Exception e) { // TODO: handle exception } } /** * @see HttpServlet#HttpServlet() */ public AdminArticulo() { super(); // TODO Auto-generated constructor stub } 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 16/35 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 /** * @see HttpServlet#doGet(HttpServletRequest * response) */ protected void doGet(HttpServletRequest requ throws ServletException, IOException System.out.println("Hola Servlet..");String action = request.getParameter("ac System.out.println(action); try { switch (action) { case "index": index(request, response); break; case "nuevo": nuevo(request, response); break; case "register": System.out.println("entro"); registrar(request, response); break; case "mostrar": mostrar(request, response); break; case "showedit": showEditar(request, response); break; case "editar": editar(request, response); break; case "eliminar": eliminar(request, response); break; default: break; } } catch (SQLException e) { e.getStackTrace(); } } /** * @see HttpServlet#doPost(HttpServletReques * response) */ protected void doPost(HttpServletRequest req throws ServletException, IOException System.out.println("Hola Servlet.."); doGet(request, response); } private void index (HttpServletRequest reque //mostrar(request, response); RequestDispatcher dispatcher= request.ge dispatcher.forward(request, response); } private void registrar(HttpServletRequest re Articulo articulo = new Articulo(0, requ articuloDAO.insertar(articulo); RequestDispatcher dispatcher = request.g dispatcher.forward(request, response); 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 17/35 CREAR LAS VISTAS PARA EL EJEMPLO Las vistas son simples archivos con extensión .jsp, en las cuales usamos JSTL (Java Server Pages Tag Library) que no son más que e�quetas y que nos permiten manipular o embeber código java dentro de una pagína JSP. Para poder hacer uso de estas e�quetas, se debe incluir una declaración en el inicio de la página JSP donde vayamos a usarlas (línea 4), en este caso pongo como ejemplo la página mostrar.jsp que está dentro de la carpeta vista y que muestra todos los ar�culos, finalmente recordar que (a excepción de la página index.jsp) las páginas JSP están dentro de la carpeta vista. 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 } private void nuevo(HttpServletRequest reques RequestDispatcher dispatcher = request.g dispatcher.forward(request, response); } private void mostrar(HttpServletRequest requ RequestDispatcher dispatcher = request.g List<Articulo> listaArticulos= articuloD request.setAttribute("lista", listaArtic dispatcher.forward(request, response); } private void showEditar(HttpServletRequest r Articulo articulo = articuloDAO.obtenerP request.setAttribute("articulo", articul RequestDispatcher dispatcher = request.g dispatcher.forward(request, response); } private void editar(HttpServletRequest reque Articulo articulo = new Articulo(Integer articuloDAO.actualizar(articulo); index(request, response); } private void eliminar(HttpServletRequest req Articulo articulo = articuloDAO.obtenerP articuloDAO.eliminar(articulo); RequestDispatcher dispatcher = request.g dispatcher.forward(request, response); } } 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 18/35 Las demás vistas, index.jsp, register.jsp y editar.jsp las puedes descargar del proyecto completo, del siguiente enlace Descargar Proyecto Completo (h�ps://www.dropbox.com/s/zc886nq87m40m 3l/Ar�culos-JSP-Servlet.zip?dl=0). Finalmente te dejo una imagen de como se muestran los ar�culos ingresados junto con sus respec�vas acciones, tanto de editar como de eliminar. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <%@ page language="java" contentType="text/html; pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/co <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Tran <html> <head> <meta http-equiv="Content-Type" content="text/htm <title>Administrar Artículos</title> </head> <body> <h1>Lista Artículos</h1> <table> <tr> <td><a href="adminArticulo?action=ind </tr> </table> <table border="1" width="100%"> <tr> <td> ID</td> <td> CODIGO</td> <td> NOMBRE</td> <td>DESCRPICION</td> <td>EXISTENCIA</td> <td>PRECIO</td> <td colspan=2>ACCIONES</td> </tr> <c:forEach var="articulo" items="${lista} <tr> <td><c:out value="${articulo.id}" <td><c:out value="${articulo.codi <td><c:out value="${articulo.nomb <td><c:out value="${articulo.desc <td><c:out value="${articulo.exis <td><c:out value="${articulo.prec <td><a href="adminArticulo?action <td><a href="adminArticulo?action </tr> </c:forEach> </table> </body> </html> https://www.dropbox.com/s/zc886nq87m40m3l/Articulos-JSP-Servlet.zip?dl=0 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 19/35 Espero haya sido de ayuda, si �enes alguna pregunta, la puedes hacer en la parte de comentarios, nos vemos en la próxima entrada. Nota: Si te interesa seguir el tema de programación Web con Java, puedes revisar mi Curso de Programación Java Web (h�ps://programacionfullstack.com/) donde aprenderás paso a paso como desarrollar aplicaciones web con Java. Si te interesa seguir el tema de programación Web con Java, puedes revisar mi Curso de Programación Java Web (h�ps://programacionfullstack.com/) donde aprenderás este y otros temas: Curso de Programación Java Web (h�ps://programacionfullstack.com/). CÓMO CREAR UN CRUD EN JAVA WEB CON JSP Y SERVLET (h�ps://www.ecodeup.com/como- crear-un-crud-en-java-web-con-jsp- y-servlet/), Integrar Bootstrap en un proyecto Java Web usando Java 8 (h�ps://www.ecodeup.com/como- integrar-bootstrap-con-jsp-y-crear- un-proyecto-web-en-java8/). Pr og ra m ac ión Web Full Stack https://programacionfullstack.com/ https://programacionfullstack.com/ https://programacionfullstack.com/ https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ https://www.ecodeup.com/como-integrar-bootstrap-con-jsp-y-crear-un-proyecto-web-en-java8/ 1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 20/35 ELIVAR LARGO (HTTPS://WWW.ECODEUP.COM/AUTHOR/ ELARGO/) Suscríbete ahora y recibe los mejores contenidos sobre Programación Web en tu correo. Nombre Email SUSCRIBIRME Tus datos estarán protegidos y 100% libre de Spam https://www.ecodeup.com/author/elargo/
Compartir