Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 26

/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

También podría gustarte