En este módulo, aprenderás a desarrollar una aplicación web utilizando Java. Cubriremos los conceptos básicos de las aplicaciones web, la configuración de un entorno de desarrollo web, y la implementación de una aplicación web simple utilizando tecnologías populares como Servlets, JSP y Spring Boot.

Contenido

Introducción a las Aplicaciones Web

Las aplicaciones web son programas que se ejecutan en un servidor web y son accesibles a través de un navegador. A diferencia de las aplicaciones de escritorio, las aplicaciones web no requieren instalación en el dispositivo del usuario y pueden ser accedidas desde cualquier lugar con una conexión a Internet.

Conceptos Clave

  • Cliente-Servidor: Modelo de comunicación donde el cliente (navegador) solicita recursos y el servidor responde con los recursos solicitados.
  • HTTP: Protocolo de comunicación utilizado para la transferencia de datos en la web.
  • Servlets: Componentes Java que responden a solicitudes HTTP.
  • JSP (JavaServer Pages): Tecnología que permite la creación de contenido dinámico en páginas web utilizando Java.
  • Spring Boot: Framework que simplifica el desarrollo de aplicaciones Java, incluyendo aplicaciones web.

Configuración del Entorno de Desarrollo

Para desarrollar aplicaciones web en Java, necesitas configurar tu entorno de desarrollo. A continuación, se detallan los pasos para configurar un entorno básico utilizando Eclipse y Apache Tomcat.

Requisitos

  • Java Development Kit (JDK): Asegúrate de tener instalado el JDK.
  • Eclipse IDE: Un entorno de desarrollo integrado popular para Java.
  • Apache Tomcat: Un servidor web y contenedor de servlets.

Pasos

  1. Instalar JDK: Descarga e instala el JDK desde el sitio oficial de Oracle.
  2. Instalar Eclipse: Descarga e instala Eclipse IDE para desarrolladores Java.
  3. Configurar Apache Tomcat:
    • Descarga Apache Tomcat desde su sitio oficial.
    • Descomprime el archivo descargado en una ubicación de tu elección.
    • En Eclipse, ve a Window > Preferences > Server > Runtime Environments.
    • Haz clic en Add, selecciona Apache Tomcat, y proporciona la ruta de instalación.

Desarrollo de una Aplicación Web con Servlets y JSP

Creación de un Proyecto Web Dinámico

  1. Crear un Proyecto Web Dinámico:

    • En Eclipse, ve a File > New > Dynamic Web Project.
    • Proporciona un nombre para el proyecto y selecciona la versión de Tomcat.
    • Haz clic en Finish.
  2. Crear un Servlet:

    • Haz clic derecho en el proyecto, selecciona New > Servlet.
    • Proporciona un nombre y un paquete para el servlet.
    • Eclipse generará un archivo Java con el siguiente contenido básico:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().append("Hello, World!");
    }
}
  1. Configurar el archivo web.xml:

    • Eclipse genera automáticamente el archivo web.xml en WEB-INF.
    • Asegúrate de que el servlet esté mapeado correctamente.
  2. Crear una Página JSP:

    • Haz clic derecho en WebContent, selecciona New > JSP File.
    • Proporciona un nombre para el archivo JSP, por ejemplo, index.jsp.
    • Agrega el siguiente contenido:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>My First JSP Page</title>
</head>
<body>
    <h1>Welcome to My First JSP Page</h1>
    <a href="hello">Say Hello</a>
</body>
</html>
  1. Ejecutar la Aplicación:
    • Haz clic derecho en el proyecto, selecciona Run As > Run on Server.
    • Selecciona Apache Tomcat y haz clic en Finish.
    • La aplicación se desplegará y se abrirá en el navegador.

Desarrollo de una Aplicación Web con Spring Boot

Spring Boot simplifica el desarrollo de aplicaciones web al proporcionar configuraciones predeterminadas y herramientas integradas.

Creación de un Proyecto Spring Boot

  1. Crear un Proyecto Spring Boot:

    • Ve a Spring Initializr.
    • Configura el proyecto con las siguientes opciones:
      • Project: Maven
      • Language: Java
      • Spring Boot: 2.5.4 (o la versión más reciente)
      • Group: com.example
      • Artifact: demo
      • Dependencies: Spring Web
    • Haz clic en Generate para descargar el proyecto.
  2. Importar el Proyecto en Eclipse:

    • Descomprime el archivo descargado.
    • En Eclipse, ve a File > Import > Existing Maven Projects.
    • Selecciona la carpeta descomprimida y haz clic en Finish.
  3. Crear un Controlador:

    • En el paquete principal (com.example.demo), crea una clase llamada HelloController:
package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, World!";
    }
}
  1. Ejecutar la Aplicación:
    • Haz clic derecho en la clase principal del proyecto (DemoApplication.java), selecciona Run As > Spring Boot App.
    • La aplicación se ejecutará en el puerto 8080 por defecto.
    • Abre un navegador y navega a http://localhost:8080/hello.

Ejercicio Práctico

Descripción del Ejercicio

Desarrolla una aplicación web simple que permita a los usuarios ingresar su nombre y recibir un saludo personalizado.

Requisitos

  1. Formulario de Entrada: Una página JSP con un formulario que permita al usuario ingresar su nombre.
  2. Servlet: Un servlet que procese la solicitud y genere una respuesta con el saludo personalizado.
  3. Página de Respuesta: Una página JSP que muestre el saludo personalizado.

Solución

  1. Formulario de Entrada (index.jsp):
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Greeting Application</title>
</head>
<body>
    <h1>Enter Your Name</h1>
    <form action="greet" method="post">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name">
        <input type="submit" value="Submit">
    </form>
</body>
</html>
  1. Servlet (GreetingServlet.java):
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/greet")
public class GreetingServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        request.setAttribute("name", name);
        request.getRequestDispatcher("greeting.jsp").forward(request, response);
    }
}
  1. Página de Respuesta (greeting.jsp):
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Greeting</title>
</head>
<body>
    <h1>Hello, ${name}!</h1>
</body>
</html>

Ejecución

  1. Desplegar la Aplicación: Sigue los pasos anteriores para ejecutar la aplicación en Apache Tomcat.
  2. Probar la Aplicación: Abre un navegador y navega a http://localhost:8080/tu-proyecto/index.jsp. Ingresa un nombre y envía el formulario para ver el saludo personalizado.

Conclusión

En este módulo, has aprendido a desarrollar una aplicación web básica utilizando Java. Hemos cubierto tanto el desarrollo con Servlets y JSP como con Spring Boot. Ahora tienes las herramientas necesarias para crear aplicaciones web dinámicas y escalables.

En el siguiente módulo, exploraremos cómo desplegar aplicaciones en diferentes entornos, asegurando que estén listas para ser utilizadas por los usuarios finales.

Curso de Programación en Java

Módulo 1: Introducción a Java

Módulo 2: Flujo de Control

Módulo 3: Programación Orientada a Objetos

Módulo 4: Programación Orientada a Objetos Avanzada

Módulo 5: Estructuras de Datos y Colecciones

Módulo 6: Manejo de Excepciones

Módulo 7: Entrada/Salida de Archivos

Módulo 8: Multihilo y Concurrencia

Módulo 9: Redes

Módulo 10: Temas Avanzados

Módulo 11: Frameworks y Librerías de Java

Módulo 12: Construcción de Aplicaciones del Mundo Real

© Copyright 2024. Todos los derechos reservados