0% encontró este documento útil (0 votos)
867 vistas20 páginas

Cómo Crear Un CRUD en Java Web Con JSP y Servlet

Este documento explica cómo crear un CRUD (operaciones básicas de crear, leer, actualizar y eliminar) en Java Web usando JSP y Servlets. Explica los pasos a seguir como crear la base de datos, el proyecto web, definir la conexión a la base de datos, crear el modelo, la clase DAO, el controlador y las vistas. Además, proporciona enlaces a tutoriales adicionales sobre tecnologías relacionadas y un curso completo de programación Java Web.

Cargado por

Zach Ariel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
867 vistas20 páginas

Cómo Crear Un CRUD en Java Web Con JSP y Servlet

Este documento explica cómo crear un CRUD (operaciones básicas de crear, leer, actualizar y eliminar) en Java Web usando JSP y Servlets. Explica los pasos a seguir como crear la base de datos, el proyecto web, definir la conexión a la base de datos, crear el modelo, la clase DAO, el controlador y las vistas. Además, proporciona enlaces a tutoriales adicionales sobre tecnologías relacionadas y un curso completo de programación Java Web.

Cargado por

Zach Ariel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

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

Buscar 

CURSO
JAVA WEB
DE CERO A
PROFESION
AL
Empieza tu carrera
profesional como un
 11 junio, 2017 (h ps://www.ecodeup.com/como-crear-un- Java Web Developer y
crud-en-java-web-con-jsp-y-servlet/)  Elivar Largo aprende a crear
(h ps://www.ecodeup.com/author/elargo/) aplicaciones usando las
tecnologías de la
CÓMO CREAR UN CRUD EN plataforma Java EE.
Más información:
JAVA WEB CON JSP Y SERVLET h ps://programacionful


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 1/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

Hola que tal, bienvenido a este nuevo ar culo, lstack.com/


en donde aprenderás cómo crear un CRUD en (h ps://programacionfu
Java Web con JSP y Servlet. llstack.com/)

Aprende este y otros temas de Programación


Java Web. Accede gra s al Curso de Java EE y ENCUESTAS
suscribete al canal de Youtube.
(h ps://www.youtube.com/playlist? Qué temas de
list=PL3vxkSlW2FvWzjf0NdxcivmyhrW6CdxhB programación web te
) gustaría aprender?
Para este ejercicio usaremos Maven para la
Java Web (JSP,
ges ón de librerías, aclarar también que si bien
Hibernate, JSF, Web
es cierto que el CRUD es de una sola tabla, el
Services)
tutorial es muy prác co ya que te da las bases
para que tu con núes de forma autodidacta Programación con
aplicando esos conocimientos en un proyecto PHP (Ajax, Base de
más grande. datos, HTML)

Spring Framework

Framework Laravel

Programación móvil
con Android
(h ps://www.youtube.com/channel/UCViAh-
P1qmZ2-5F-UTx9MlA) JavaScript (Node,
Frameworks JavaScript)
QUE NECESITAS? Java SE
Tener instalado Java 8, descargar Eclipse Neon y Voto
configurado con Apache Tomcat, si no enes
Ver resultados
instalado nada de lo anterior, puedes hacerlo
revisando estos tutoriales: Instalar Java 8
(h ps://www.ecodeup.com/descargar-instalar- ENCUESTAS
java-8/), Consola VS IDE
(h ps://www.ecodeup.com/ejecutar-aplicacion- Por qué quisieras
java-desde-la-consola-vs-ide/), Integrar Apache aprender estos temas?
en Eclipse (h ps://www.ecodeup.com/integra-
apache-tomcat-en-eclipse-neon-menos-5- Quisiera a futuro
minutos/). postular para un
trabajo
Tener instalado MySQL con algún entorno para
poder administrarlos bien sea phpMyadmin o Estoy trabajando
MySQL Workbench, si no enes instalado, actualmente y quiero
puedes revisar estos tutoriales: Instalar MySQL mejorar mis habilidades
y MySQL WORKBENCH en Windows 10
(h ps://www.ecodeup.com/aprende-a-instalar-

https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 2/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

mysql-y-mysql-workbench-en-windows-10/) o Quiero emprender


bien Cómo instalar WampServer en Windows un proyecto
10 (h ps://www.ecodeup.com/instalar-
wampserver-windows/). Por pasa empo /
Sólo por aprender
HOJA DE RUTA DE LO QUE VAMOS Voto
HACER
Ver resultados
Crear la base de datos con la tabla ar culos.
Crear el proyecto Web. CATEGORÍA
Conver r el proyecto Web a Maven y configurar S
el archivo pom.xml.
Definir la conexión a la base de datos usando el Programación Android
archivo web.xml (h ps://www.ecodeup.
Crear el modelo para la tabla ar culos. com/category/program
acion-android/) (1)
Crear la clase DAO (métodos CRUD) y
Controlador. Programación con
Laravel
Crear las Vistas. (h ps://www.ecodeup.
Nota: Si te interesa seguir el tema de com/category/program
programación Web con Java, puedes revisar mi acion-con-laravel/) (3)
Curso de Programación Java Web Programación General
(h ps://programacionfullstack.com/) donde (h ps://www.ecodeup.
aprenderás paso a paso como desarrollar com/category/program
aplicaciones web con Java. acion-general/) (6)

Programación Java EE
De momento dejo una vista previa de como va (h ps://www.ecodeup.
quedar la vista principal de proyecto. com/category/program
acion-ee/) (12)

Programación Java SE
(h ps://www.ecodeup.
com/category/program
acion-java/) (26)

CREAR LA BASE DE DATOS Y LA Programación


TABLA ARTÍCULOS JavaScript
(h ps://www.ecodeup.
Para crear la base de datos junto con la tabla, com/category/program
bien puedes hacerlo de forma gráfica o usar el acion-javascript/) (2)
siguiente script Descarga Script
(h ps://www.dropbox.com/s/rhcxm55foa5est3
/ar culos.sql?dl=0). La tabla ar culos ene 5
Programación PHP
(h ps://www.ecodeup. 
https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 3/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

campos (id, codigo, nombre, descripcion, com/category/program


existencia, precio) que hacen referencia al acion-php/) (23)
ar culo, la clave primaria es el campo id y es un
Spring
campo auto numérico.
(h ps://www.ecodeup.
Recuerda que antes de ejecutar el script para com/category/spring/)
crear la tabla, debes crear la base de datos y (1)
esta debe llamarse javaweb_crud.
WordPress, Diseño
Web y Blogging
ESTRUCTURA COMPLETA DEL
(h ps://www.ecodeup.
PROYECTO
com/category/aprende-
Esta es la estructura del proyecto que debe crear-tu-blog/) (4)
quedar al final del tutorial y que la iré
explicando en el transcurso del mismo.
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/)
CREAR EL WEB DYNAMIC PROJECT
Cómo crear un web
Como la idea de este ar culo es aprender un services SOAP usando
poco de Java Web con JSP y Servlet vamos a JAX-WS en Eclipse
crear un proyecto Web Dynamic Project, como
se muestra en la siguiente imagen.
(h ps://www.ecodeup.
com/como-crear-un-

https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 4/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

web-services-soap-
usando-jax-ws-en-
eclipse/)

Cómo crear un
repositorio local con
Git y subirlo a GitHub
Si no lo encuentras en en esa opción, pincha al (h ps://www.ecodeup.
final en la opción Other->Web->Dynamic Web com/como-crear-un-
Project, lo siguiente es darle el nombre el repositorio-local-con-
proyecto y crearlo. git-y-subirlo-a-github/)

SUSCRIPCIÓ
N

Suscríbete
ahora y recibe
en tu correo los
mejores
contenidos
sobre
Programación
Web.
Es importante que en el proyecto, la versión de Nombre
Servlet sea la 3.1 y que esté atado al
contenedor de Servlet Apache Tomcat.
Email
Finalmente el proyecto quedaría como se
muestra a con nuación.
He leído y acepto
las políticas de
privacidad

SUSCRIBIRME 
https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 5/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

Tus datos estarán


protegidos y 100%
libre de Spam

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.


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 6/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

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>).


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 7/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

1   <dependencies>
2     <dependency>
3         <groupId>javax.servlet</groupId>
4         <artifactId>javax.servlet-api</artifactId
5         <version>3.1.0</version>
6         <scope>provided</scope>
7     </dependency>
8     <dependency>
9         <groupId>javax.servlet.jsp</groupId>
10         <artifactId>javax.servlet.jsp-api</artifa
11         <version>2.3.1</version>
12         <scope>provided</scope>
13     </dependency>
14     <dependency>
15         <groupId>jstl</groupId>
16         <artifactId>jstl</artifactId>
17         <version>1.2</version>
18     </dependency>
19     <dependency>
20         <groupId>mysql</groupId>
21         <artifactId>mysql-connector-java</artifac
22         <version>5.1.30</version>
23     </dependency>
24 </dependencies>

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.


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 8/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

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.


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 9/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

1 <?xml version="1.0" encoding="UTF-8"?>


2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSch
3   <display-name>CRUD Artículos con JSP y Servlet
4   <context-param>
5     <param-name>jdbcURL</param-name>
6     <param-value>jdbc:mysql://localhost:3306/java
7   </context-param>
8   <context-param>
9     <param-name>jdbcUsername</param-name>
10     <param-value>root</param-value>
11   </context-param>
12   <context-param>
13     <param-name>jdbcPassword</param-name>
14     <param-value></param-value>
15   </context-param>
16 </web-app>

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.


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 10/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet
1 package com.ecodeup.articulos.model;
2  
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.SQLException;
6  
7 /*
8 * @autor: Elivar Largo
9 * @web: www.ecodeup.com
10 */
11  
12 public class Conexion {
13     private Connection jdbcConnection;
14     private String jdbcURL;
15     private String jdbcUsername;
16     private String jdbcPassword;
17     
18     public Conexion(String jdbcURL, String jdbcUs
19 this.jdbcURL = jdbcURL;
20 this.jdbcUsername = jdbcUsername;
21 this.jdbcPassword = jdbcPassword;
22 }
23  
24 public void conectar() throws SQLException {
25         if (jdbcConnection == null || jdbcConnect
26             try {
27                 Class.forName("com.mysql.jdbc.Dri
28             } catch (ClassNotFoundException e) {
29                 throw new SQLException(e);
30             }
31             jdbcConnection = DriverManager.getCon
32                                         jdbcURL,
33         }
34     }
35     
36     public void desconectar() throws SQLException
37         if (jdbcConnection != null && !jdbcConnec
38             jdbcConnection.close();
39         }
40     }
41  
42 public Connection getJdbcConnection() {
43 return jdbcConnection;
44 }  
45  
46 }

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


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 11/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet
1 package com.ecodeup.articulos.model;
2  
3 /*
4 * @autor: Elivar Largo
5 * @ web: www.ecodeup.com
6 */
7  
8 public class Articulo {
9 private int id;
10 private String codigo;
11 private String nombre;
12 private String descripcion;
13 private double existencia;
14 private double precio;
15
16 public Articulo(int id, String codigo, String
17 this.id = id;
18 this.codigo = codigo;
19 this.nombre = nombre;
20 this.descripcion = descripcion;
21 this.existencia = existencia;
22 this.precio = precio;
23 }
24 //getters y setters
25 public int getId() {
26 return id;
27 }
28 public void setId(int id) {
29 this.id = id;
30 }
31 public String getCodigo() {
32 return codigo;
33 }
34 public void setCodigo(String codigo) {
35 this.codigo = codigo;
36 }
37 public String getNombre() {
38 return nombre;
39 }
40 public void setNombre(String nombre) {
41 this.nombre = nombre;
42 }
43 public String getDescripcion() {
44 return descripcion;
45 }
46 public void setDescripcion(String descripcion
47 this.descripcion = descripcion;
48 }
49 public double getExistencia() {
50 return existencia;
51 }
52 public void setExistencia(double existencia)
53 this.existencia = existencia;
54 }
55 public double getPrecio() {
56 return precio;
57 }
58 public void setPrecio(double precio) {
59 this.precio = precio;
60 }
61 }

CREAR LA CLASE LO MÉTODOS CRUD 


PARA LA TABLA ARTÍCULOS
https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 12/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

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 package com.ecodeup.articulos.dao;
2  
3 import java.sql.Connection;
4 import java.sql.PreparedStatement;
5 import java.sql.ResultSet;
6 import java.sql.SQLException;
7 import java.sql.Statement;
8 import java.util.ArrayList;
9 import java.util.List;
10  
11 import com.ecodeup.articulos.model.Articulo;
12 import com.ecodeup.articulos.model.Conexion;
13  
14 /*
15 * @autor: Elivar Largo
16 * @web: www.ecodeup.com
17 */
18  
19 public class ArticuloDAO {
20 private Conexion con;
21 private Connection connection;
22  
23 public ArticuloDAO(String jdbcURL, String jd
24 System.out.println(jdbcURL);
25 con = new Conexion(jdbcURL, jdbcUsername
26 }
27  
28 // insertar artículo
29 public boolean insertar(Articulo articulo) t
30 String sql = "INSERT INTO articulos (id,
31 System.out.println(articulo.getDescripci
32 con.conectar();
33 connection = con.getJdbcConnection();
34 PreparedStatement statement = connection
35 statement.setString(1, null);
36 statement.setString(2, articulo.getCodig
37 statement.setString(3, articulo.getNombr
38 statement.setString(4, articulo.getDescr
39 statement.setDouble(5, articulo.getExist
40 statement.setDouble(6, articulo.getPreci
41  
42 boolean rowInserted = statement.executeU
43 statement.close();
44 con.desconectar();
45 return rowInserted;
46 }
47  
48 // listar todos los productos
49 public List<Articulo> listarArticulos() thro
50  
51 List<Articulo> listaArticulos = new Arra
52 String sql = "SELECT * FROM articulos";
53 con.conectar();
54 connection = con.getJdbcConnection();
55 Statement statement = connection.createS
56
57
58
 
ResultSet resulSet = statement.executeQu

while (resulSet.next()) {

https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 13/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet
59 int id = resulSet.getInt("id");
60 String codigo = resulSet.getString("
61 String nombre = resulSet.getString("
62 String descripcion = resulSet.getStr
63 Double existencia = resulSet.getDoub
64 Double precio = resulSet.getDouble("
65 Articulo articulo = new Articulo(id,
66 listaArticulos.add(articulo);
67 }
68 con.desconectar();
69 return listaArticulos;
70 }
71  
72 // obtener por id
73 public Articulo obtenerPorId(int id) throws
74 Articulo articulo = null;
75  
76 String sql = "SELECT * FROM articulos WH
77 con.conectar();
78 connection = con.getJdbcConnection();
79 PreparedStatement statement = connection
80 statement.setInt(1, id);
81  
82 ResultSet res = statement.executeQuery()
83 if (res.next()) {
84 articulo = new Articulo(res.getInt("
85 res.getString("descripcion")
86 }
87 res.close();
88 con.desconectar();
89  
90 return articulo;
91 }
92  
93 // actualizar
94 public boolean actualizar(Articulo articulo)
95 boolean rowActualizar = false;
96 String sql = "UPDATE articulos SET codig
97 con.conectar();
98 connection = con.getJdbcConnection();
99 PreparedStatement statement = connection
100 statement.setString(1, articulo.getCodig
101 statement.setString(2, articulo.getNombr
102 statement.setString(3, articulo.getDescr
103 statement.setDouble(4, articulo.getExist
104 System.out.println(articulo.getPrecio())
105 statement.setDouble(5, articulo.getPreci
106 statement.setInt(6, articulo.getId());
107  
108 rowActualizar = statement.executeUpdate(
109 statement.close();
110 con.desconectar();
111 return rowActualizar;
112 }
113
114 //eliminar
115 public boolean eliminar(Articulo articulo) t
116 boolean rowEliminar = false;
117 String sql = "DELETE FROM articulos WHER
118 con.conectar();
119 connection = con.getJdbcConnection();
120 PreparedStatement statement = connection
121
122  
statement.setInt(1, articulo.getId());

123 rowEliminar = statement.executeUpdate()
https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 14/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet
124 statement.close();
125 con.desconectar();
126  
127 return rowEliminar;
128 }
129 }

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.
1 package com.ecodeup.articulo.controller;
2  
3 import java.io.IOException;
4 import java.sql.SQLException;
5 import java.util.List;
6  
7 import javax.servlet.RequestDispatcher;
8 import javax.servlet.ServletException;
9 import javax.servlet.annotation.WebServlet;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13  
14 import com.ecodeup.articulos.dao.ArticuloDAO;
15 import com.ecodeup.articulos.model.Articulo;
16  
17 /**
18 * Servlet implementation class AdminArticulo
19 */
20 @WebServlet("/adminArticulo")
21 public class AdminArticulo extends HttpServlet {
22 private static final long serialVersionUID =
23 ArticuloDAO articuloDAO;
24  
25 public void init() {
26 String jdbcURL = getServletContext().get
27 String jdbcUsername = getServletContext(
28 String jdbcPassword = getServletContext(
29 try {
30  
31 articuloDAO = new ArticuloDAO(jdbcUR
32 } catch (Exception e) {
33 // TODO: handle exception
34 }
35 }
36  
37 /**
38 * @see HttpServlet#HttpServlet()
39 */
40 public AdminArticulo() {
41 super();
42
43 }
// TODO Auto-generated constructor stub

44  
https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 15/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet
45 /**
46 * @see HttpServlet#doGet(HttpServletRequest
47 *      response)
48 */
49 protected void doGet(HttpServletRequest requ
50 throws ServletException, IOException
51 System.out.println("Hola Servlet..");
52 String action = request.getParameter("ac
53 System.out.println(action);
54 try {
55 switch (action) {
56 case "index":
57 index(request, response);
58 break;
59 case "nuevo":
60 nuevo(request, response);
61 break;
62 case "register":
63 System.out.println("entro");
64 registrar(request, response);
65 break;
66 case "mostrar":
67 mostrar(request, response);
68 break;
69 case "showedit":
70 showEditar(request, response);
71 break;
72 case "editar":
73 editar(request, response);
74 break;
75 case "eliminar":
76 eliminar(request, response);
77 break;
78 default:
79 break;
80 }
81 } catch (SQLException e) {
82 e.getStackTrace();
83 }
84
85
86 }
87  
88 /**
89 * @see HttpServlet#doPost(HttpServletReques
90 *      response)
91 */
92 protected void doPost(HttpServletRequest req
93 throws ServletException, IOException
94 System.out.println("Hola Servlet..");
95 doGet(request, response);
96 }
97
98 private void index (HttpServletRequest reque
99 //mostrar(request, response);
100 RequestDispatcher dispatcher= request.ge
101 dispatcher.forward(request, response);
102 }
103  
104 private void registrar(HttpServletRequest re
105 Articulo articulo = new Articulo(0, requ
106 articuloDAO.insertar(articulo);
107
108 RequestDispatcher dispatcher = request.g 
109 dispatcher.forward(request, response);
https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 16/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet
110 }
111
112 private void nuevo(HttpServletRequest reques
113 RequestDispatcher dispatcher = request.g
114 dispatcher.forward(request, response);
115 }
116
117
118 private void mostrar(HttpServletRequest requ
119 RequestDispatcher dispatcher = request.g
120 List<Articulo> listaArticulos= articuloD
121 request.setAttribute("lista", listaArtic
122 dispatcher.forward(request, response);
123 }
124
125 private void showEditar(HttpServletRequest r
126 Articulo articulo = articuloDAO.obtenerP
127 request.setAttribute("articulo", articul
128
129 RequestDispatcher dispatcher = request.g
130 dispatcher.forward(request, response);
131 }
132
133 private void editar(HttpServletRequest reque
134 Articulo articulo = new Articulo(Integer
135 articuloDAO.actualizar(articulo);
136 index(request, response);
137 }
138
139 private void eliminar(HttpServletRequest req
140 Articulo articulo = articuloDAO.obtenerP
141 articuloDAO.eliminar(articulo);
142 RequestDispatcher dispatcher = request.g
143 dispatcher.forward(request, response);
144
145 }
146 }

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.


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 17/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

1 <%@ page language="java" contentType="text/html;


2     pageEncoding="ISO-8859-1"%>
3     
4   <%@ taglib uri="http://java.sun.com/jsp/jstl/co
5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Tran
6 <html>
7 <head>
8 <meta http-equiv="Content-Type" content="text/htm
9 <title>Administrar Artículos</title>
10 </head>
11 <body>
12 <h1>Lista  Artículos</h1>
13 <table>
14 <tr>
15 <td><a href="adminArticulo?action=ind
16 </tr>
17 </table>
18
19 <table border="1" width="100%">
20 <tr>
21 <td> ID</td>
22 <td> CODIGO</td>
23 <td> NOMBRE</td>
24 <td>DESCRPICION</td>
25 <td>EXISTENCIA</td>
26 <td>PRECIO</td>
27 <td colspan=2>ACCIONES</td>
28 </tr>
29 <c:forEach var="articulo" items="${lista}
30 <tr>
31 <td><c:out value="${articulo.id}"
32 <td><c:out value="${articulo.codi
33 <td><c:out value="${articulo.nomb
34 <td><c:out value="${articulo.desc
35 <td><c:out value="${articulo.exis
36 <td><c:out value="${articulo.prec
37 <td><a href="adminArticulo?action
38 <td><a href="adminArticulo?action
39 </tr>
40 </c:forEach>
41 </table>
42
43 </body>
44 </html>

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.


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 18/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

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://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 19/35
1/12/2019 Cómo crear un CRUD en Java Web con JSP y Servlet

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

ELIVAR LARGO
(HTTPS://WWW.ECODEUP.COM/AUTHOR/
ELARGO/)


https://www.ecodeup.com/como-crear-un-crud-en-java-web-con-jsp-y-servlet/ 20/35

También podría gustarte