Logo Studenta

Como-Crear-Un-CRUD-en-Java-Web-Con-JSP-y-Servlet

¡Este material tiene más páginas!

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/

Continuar navegando

Materiales relacionados