/Desarrollo de
applets/aplicaciones
con uso de base de
datos, redes,
servlets y multimedia
Insertar un servidor web Tomcat y
ejecutar una aplicación Java vía web
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
2
Tabla de Contenido
1. Introducción............................................................................................................................... 4
2. Mapa conceptual ...................................................................................................................... 5
3. Desarrollo de contenidos........................................................................................................... 5
3.1. Instalación y configuración de tomcat y ejecución de servlets............................................... 5
3.1.1. Instalación servidor Tomcat 8.............................................................................................. 5
3.2. Ejecutando el proyecto con Servlets.................................................................................... 10
3.2.1. Crear el Servlet................................................................................................................. 10
3.2.2. Crear la estructura del proyecto en su servidor Tomcat y agregar los Servlets................ 12
3.3. Envío de parámetros get y post en Servlets........................................................................ 14
3.3.1. Método GET...................................................................................................................... 15
3.3.2. Método POST.................................................................................................................... 19
4. Material anexo al tema............................................................................................................ 23
5. Glosario .................................................................................................................................. 24
6. Referencias bibliográficas....................................................................................................... 25
7. Control del documento ........................................................................................................... 25
Créditos....................................................................................................................................... 26
Creative Commons ..................................................................................................................... 26
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
33
1. Introducción
Actualmente, las aplicaciones que
funcionan a través de la web están en auge. Existen
diferentes tecnologías que se pueden usar para
hacer proyectos de este tipo: PHP, ASP, NodeJS,
entre otras. Java también provee herramientas
para desarrollar proyectos web, una de esas es
el servidor Tomcat, el cual permite la ejecución de
servlets, que son clases en lenguaje Java. En este
Resultado de Aprendizaje aprenderá a instalar
y configurar el servidor Tomcat, y a través de un
ejemplo ejecutará una aplicación que recibe datos
por medio de formularios html tipo GET y POST.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
4
2. Mapa conceptual
SERVLET
Extiende a Se ejecuta en Tiene
HttpServlet Tomcat Métodos
Como
Service() doPost() doGet()
Recibe Recibe
formulario formulario
POST GET
Fuente: SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
5
3. Desarrollo de contenidos
3.1. Instalación y configuración de Tomcat y
ejecución de servlets
Los servlets son clases de Java que
permiten la implementación de aplicaciones web.
Estos se ejecutan a través del servidor Tomcat. A
continuación, verá la explicación de cómo instalar
y configurar el servidor en su computador.
3.1.1. Instalación servidor Tomcat 8
Para instalar el servidor en su computador realice
los siguientes pasos:
Paso 1. Descargue la versión actualizada de
Tomcat a través de la página oficial en
la sección de descargas:
https://tomcat.apache.org/.
Figura 1. Carpeta con el servidor TOMCAT descomprimida en el equipo
Paso 2. Descomprima la carpeta y ubíquela en
su lugar de preferencia. Por ejemplo Paso 3. Debe crear la variable de Entorno del
puede copiar la carpeta descomprimida sistema JAVA_HOME con la ruta donde
directamente en el disco Local C:/. usted actualmente tiene instalado el JDK
de Java, para eso realice los siguientes
pasos:
• Abra el Panel de Control de Windows
• Haga clic en Sistema
• Haga clic en el enlace Configuración
avanzada del sistema.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
6
• Haga clic en Variables de entorno
• En la sección Variables del sistema agregue la variable JAVA_
HOME con la ruta del JDK de Java de su computador. Puede usar
el explorador de Windows para buscarlo. Generalmente se instala
en la carpeta Archivos de Programa \ Java \ versión_JDK
Figura 2. Configuración de Variable de entorno JAVA_HOME
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
7
• Busque la variable de sistema llamada Path. Dé clic en la opción Editar.
Haga clic en Editar Texto. Al final del texto que existe coloque lo siguiente:
;%JAVA_HOME%\bin;
Guarde los cambios.
Figura 3. Agregar JAVA_HOME a la variable PATH
Paso 4. Inicie el servidor y pruebe que está funcionando correctamente. Para
esto, abra la carpeta descomprimida. Haga clic en la carpeta bin y
luego abra el archivo llamado startup.bat.
Figura 4. Archivo Startup.bat
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
8
Al realizar esto se abrirá una consola de Windows donde iniciará el servicio del
servidor. Aparece el mensaje … Server startup in …. Con eso identificamos
que el servidor se inició. Minimice esta ventana. Si la cierra se detendrá el
servicio del servidor.
Figura 5. Ejecución del servidor
Para probar que está funcionando abra el explorador de internet de su
preferencia. En este caso se va a abrir Google Chrome. En la dirección
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
9
escriba: localhost:8080. Si el servidor quedó correctamente instalado y está
inicializado aparecerá una página como se muestra en la siguiente imagen:
Figura 6. Prueba de ejecución del servidor en el explorador de internet
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
10
3.2. Ejecutando el proyecto con servlets
Los servlets son clases en Java que se ejecutan en un servidor web.
Para poder ejecutar proyectos con Servlets usted debe hacer dos
cosas:
• Crear los servlets
• Crear la estructura del proyecto en su servidor Tomcat y
agregar los servlets.
3.2.1. Crear el Servlet
Como ejemplo se va a crear un archivo servlet llamado
MostrarMensaje que mostrará un texto de saludo. Para poder
compilar los servlet es necesario importar la librería servlet.jar en
el proyecto de la misma manera como se explicó en el Resultado
anterior. Esta librería se encuentra disponible para descarga en el
material de apoyo de esta Actividad de Aprendizaje.
Figura 7. Agregar la librería servlet.jar al proyecto
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
11
El siguiente es la clase Java:
MostrarMensaje.java
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class MostrarMensaje extends HttpServlet
{
protected void service(HttpServletRequest req,
HttpServletResponse resp) throws IOException{
PrintWriter salida = resp.getWriter();
salida.println(“<html>”);
salida.println(“<body>”);
salida.println(“Mensaje de prueba”);
salida.println(“</body>”);
salida.println(“</html>”);
}
}
}
La clase MostrarMensaje extiende HttpServlet. El método service recibe dos
parámetros, el primero es un objeto de tipo HttpServletRequest que contiene
toda la información acerca de la petición de la página web y el segundo es un
objeto de tipo HttpServletResponse que se utiliza para mostrar la respuesta
que será enviada al Explorador de Internet.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
12
La documentación de la clase HttpServlet la puede Para que el proyecto esté según los estándares
consultar en la página web de J2EE , debe tener la siguiente estructura de
https://docs.oracle.com/cd/E17802_01/products/ carpetas y un archivo de configuración llamado
products/servlet/2.1/api/ web.xml así:
javax.servlet.http.HttpServlet.html
EL objeto salida tipo PrintWriter se obtiene del
objeto resp a través del método getWriter() y es
usado para mostrar el texto de salida.
Una vez creado el archivo y guardado, debe
localizar el archivo .class generado en la carpeta
bin de su proyecto java.
Figura 9. Estructura de un proyecto según estándar j2ee
Las páginas web estáticas (.html) se colocan
dentro de la carpeta del proyecto (Proyecto1\ en
este caso), nunca dentro de la carpeta WEB-INF\
Figura 8. Archivo .class que se agregará al ya que esta no puede ser accedida directamente
servidor TOMCAT desde el explorador de internet. Para este proyecto
se ha creado un archivo llamado index.html vacío.
3.2.2. Crear la estructura del proyecto en su
servidor Tomcat y agregar los servlets En la carpeta WEB-INF\classes\ se colocarán
todas las clases Java ya compiladas (.class) que
Para desplegar una aplicación web en Tomcat son los servlets. Para este proyecto copiamos
deberá crear un directorio con el nombre del el archivo MostrarMensaje.class generado en el
proyecto dentro de la carpeta webapps\ que se punto anterior.
encuentra dentro de la carpeta del servidor que se
descomprimió en el punto anterior. Para este caso, En la carpeta WEB-INF\lib\ se incluyen las librerías
se va a crear la carpeta llamada Proyecto1. (archivos .jar) que necesite la aplicación.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
13
En el archivo web.xml se va a configurar el proyecto:
<web-app>
<servlet>
<servlet-name>servletMensaje</servlet-name>
<servlet-class>MostrarMensaje</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletMensaje</servlet-name>
<url-pattern>/mensaje</url-pattern>
</servlet-mapping>
</web-app>
<web-app> se debe colocar en la primera
línea. <servlet> indica que se creará un Servlet de
la clase MostrarMensaje bajo el nombre interno
servletMensaje. El elemento <servlet-mapping>
asociará el URL /mensaje al Servlet con nombre
interno servletMensaje.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
14
Para realizar la prueba debe reiniciar el Puede encontrar todos los archivos usados en
servidor Tomcat. Para este fin vuelva a abrir el estos ejemplos en el material de apoyo de la
archivo startup.bat de la carpeta bin. presente Actividad de Aprendizaje.
Abra en el explorador la dirección: 3.3. Envío de parámetros get y post en servlets
http://localhost:8080/Proyecto1/mensaje En la mayoría de aplicaciones web se hace
(tenga presente que es diferente proyecto1 a necesario poder recibir datos de un formulario, y
Proyecto1. En este caso la carpeta se llama procesarlos para realizar alguna operación como
Proyecto1 y se debe colocar la P en mayúscula una consulta a base de datos, cálculos numéricos,
para que se ejecute correctamente). Deberá entre otros. Para esto existen los métodos GET y
aparecer: POST; GET envía los parámetros a través de la URL
y POST los envía de forma oculta al usuario. Como
ejemplo de este Resultado de Aprendizaje se van
a pedir dos números a través de un formulario, y se
van a enviar a un servlet el cual realizará la suma
de los dos y mostrará el resultado; el ejemplo se
realizará para cada método.
Figura 10. Prueba de ejecución de proyecto1
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
15
3.3.1. Método GET
Para este ejemplo, lo primero que deberá hacer es crear el formulario.
En la carpeta raíz del proyecto (Proyecto1), se crea el archivo llamado
(formularioget.html) con el siguiente contenido.
<html>
<body>
<h1>Suma de dos números</h1>
<form action=”sumarget” method=”get”>
<table>
<tr>
<td>Número 1</td>
<td><input name=”numero1” /></td>
</tr>
<tr>
<td>Número 2</td>
<td><input name=”numero2” /></td>
</tr>
</table>
<input type=”submit” text=”Enviar” />
</form>
</body>
</html>
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
16
En la línea donde se crea el formulario <form > se especifica el método usa-
do, en este caso method=”get” . A través de action=”sumarget” se especifica
que el servlet que procesará será sumarget.
Ahora se va a crear el servlet que procesará los datos. La clase que se va
a crear se llamará (SumarDatosMetodoGet.) El código es el siguiente:
SumarDatosMetodoGet.java
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class SumarDatosMetodoGet extends HttpServlet
{
//Sobreescribimos el metodo doGet que es el encargado de procesar el
metodo GET
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//recibimos el parametro numero1 y numero2 recibido por GET
String sNumero1 = req.getParameter(“numero1”);
String sNumero2 = req.getParameter(“numero2”);
// para realizar la suma convertimos a entero
int num1=Integer.parseInt(sNumero1);
int num2=Integer.parseInt(sNumero2);
int resultado=num1+num2;
PrintWriter salida = resp.getWriter();
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
17
salida.println(“<html>”);
salida.println(“<body>”);
salida.println(“La suma de “+num1 + “ + “+num2+” = “+resultado);
salida.println(“</body>”);
salida.println(“</html>”);
}
}
Una vez realizado este código se debe copiar el archivo SumarDatosMetodoGet.
class en la carpeta WEB-INF/classes. Además, se debe actualizar el archivo
web.xml para que el servidor reconozca el nuevo servlet. El nuevo archivo web.
xml (en verde lo nuevo que se agregó) será:
<web-app>
<servlet>
<servlet-name>servletMensaje</servlet-name>
<servlet-class>MostrarMensaje</servlet-class>
</servlet>
<servlet>
<servlet-name>servletSumarGet</servlet-name>
<servlet-class>SumarDatosMetodoGet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletMensaje</servlet-name>
<url-pattern>/mensaje</url-pattern>
</servlet-mapping>
<servlet-mapping>
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
18
<servlet-name>servletSumarGet</servlet-name>
<url-pattern>/sumarget</url-pattern>
</servlet-mapping>
</web-app>
La nueva estructura de archivos debe quedar así: Para hacer la prueba, reinicie el servidor abriendo
el archivo startup.bat. Digite en el explorador de
internet:
http://localhost:8080/Proyecto1/formularioget.html
y debe visualizar:
Figura 12. Formulario método get
Al hacer clic en el botón Enviar, se obtiene la
respuesta de la suma. Note que en la URL aparecen
los datos enviados como parámetros.
Figura 11. Estructura del proyecto método GET
Figura 13. Resultado ejecución servlet método GET
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
19
3.3.2. Método POST
Para este segundo ejemplo, el formulario se llamará formulariopost.html y
se deberá colocar en la carpeta raíz del proyecto. La única diferencia con el
anterior, es que deberá cambiar el método a POST y el Servlet a sumarpost.
<html>
<body>
<h1>Suma de dos números METODO POST</h1>
<form action=”sumarpost” method=”post”>
<table>
<tr>
<td>Número 1</td>
<td><input name=”numero1” /></td>
</tr>
<tr>
<td>Número 2</td>
<td><input name=”numero2” /></td>
</tr>
</table>
<input type=”submit” text=”Enviar” />
</form>
</body>
</html>
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
20
El servlet que procesará los datos será de la clase SumarDatosMetodoPost
SumarDatosMetodoPost.java
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class SumarDatosMetodoPost extends HttpServlet
{
//Sobreescribimos el metodo doPost que es el encargado de procesar el
metodo POST
protected void doPost(HttpServletRequest req, HttpServletResponse
resp)
throws ServletException, IOException {
//recibimos el parametro numero1 y numero2 recibido por GET
String sNumero1 = req.getParameter(“numero1”);
String sNumero2 = req.getParameter(“numero2”);
// para realizar la suma convertimos a entero
int num1=Integer.parseInt(sNumero1);
int num2=Integer.parseInt(sNumero2);
int resultado=num1+num2;
PrintWriter salida = resp.getWriter();
salida.println(“<html>”);
salida.println(“<body>”);
salida.println(“La suma de “+num1 + “ + “+num2+” = “+resultado);
salida.println(“</body>”);
salida.println(“</html>”);
}
}
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
21
La diferencia con GET, POST usa el método doPost() para procesar los datos.
Una vez realizado este código se debe copiar el archivo
SumarDatosMetodoPost. class en la carpeta WEB-INF/classes. Además, se
debe actualizar el archivo web.xml para que el servidor reconozca el nuevo
servlet. El nuevo archivo web.xml (en verde lo nuevo que se agregó) será:
<web-app>
<servlet>
<servlet-name>servletMensaje</servlet-name>
<servlet-class>MostrarMensaje</servlet-class>
</servlet>
<servlet>
<servlet-name>servletSumarGet</servlet-name>
<servlet-class>SumarDatosMetodoGet</servlet-class>
</servlet>
<servlet>
<servlet-name>servletSumarPost</servlet-name>
<servlet-class>SumarDatosMetodoPost</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletMensaje</servlet-name>
<url-pattern>/mensaje</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletSumarGet</servlet-name>
<url-pattern>/sumarget</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletSumarPost</servlet-name>
<url-pattern>/sumarpost</url-pattern>
</servlet-mapping>
</web-app>
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
22
La nueva estructura de archivos deberá quedar Al hacer clic en el botón Enviar, se obtiene la
así: respuesta de la suma. Note que, en la URL, a
diferencia del método GET ya no aparecen los
datos enviados como parámetros. El método
POST envía los datos de forma oculta al usuario.
Figura 16. Resultado ejecución servlet método POST
Estos ejemplos básicos son la base que podrá
usar para construir aplicaciones más complejas.
Figura 14. Estructura del proyecto método POST
Para hacer la prueba, reinicie el servidor abriendo
el archivo startup.bat. Digite en el explorador de
Internet
http://localhost:8080/Proyecto1/
formulariopost.html y debe visualizar:
Figura 15. Formulario método POST
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
23
4. Material anexo al tema
Para complementar los diferentes conceptos adquiridos en el presente
documento, se recomienda a los aprendices consultar:
Clase HttpServlet
https://docs.oracle.com/cd/E17802_01/products/products/servlet/2.1/api/
javax.servlet.http.HttpServlet.html
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
24
5. Glosario
Servlet: son clases de Java que permiten ejecutar J2EE: siglas de Java 2 Enterprise Edition. Contiene
aplicaciones web en un servidor, en este caso un conjunto de especificaciones y funcionalidades
Tomcat. orientadas al desarrollo de aplicaciones
empresariales.
GET: método usado en formularios HTML para
enviar parámetros por la URL, en este caso, a un Tomcat: es un contenedor web que permite la
servlet. ejecución de servlets.
POST: método usado en formularios HTML para
enviar parámetros de forma no visible, en este
caso, a un servlet.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
25
6. Referencias bibliográficas
Docs.oracle.com. (2017). Class javax.servlet.http.HttpServlet.
[online] Disponible en:
https://docs.oracle.com/cd/E17802_01/products/products/servlet/2.1/api/
javax.servlet.http.HttpServlet.html
[Consultado 25 Abr. 2017].
7. Control del documento
Nombre Cargo Dependencia Fecha
Manuel Fernando Experto Centro de comercio y
Autor (es) Celemín Coneo Temático Servicio Regional Tolima Mayo de 2017
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
26
Créditos
Equipo de Adecuación Gráfica
Centro de Comercio y servicios
Asesor Pedagógico
SENA Regional Tolima
Ricardo Palacio
Línea de Producción
Guionistas
Director Regional
Genny Carolina Mora Rojas
Félix Ramón Triana Gaitán
Jesús Bernardo Novoa Ortiz
Subdirector de Centro
Diseño y Diagramación
Álvaro Fredy Bermúdez Salazar
Diana Katherine Osorio Useche
Pedro Nel Cabrera Vanegas
Coordinadora de Formación Profesional
Ismael Enrique Cocomá Aldana
Gloria Ines Urueña Montes
Experto temático
Programadores
Manuel Fernando Celemín Coneo
Davison Gaitán Escobar
Héctor Horacio Morales García
Senior Equipo de Adecuación
Claudia Rocio Varón Buitrago
Creatives commons
Atribución, no comercial, compartir igual.
Este material puede ser distribuido, copiado y exhibido
por terceros si se muestra en los créditos. No se
puede obtener ningún bene icio comercial y las obras
derivadas tienen que estar bajo los mismos términos
de licencia que el trabajo original.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje