Saltar la navegación

3.3.- Programación web con Java.

Imagen donde se muestra un cartel en rojo de oracle y en el centro una atril con un cartel conteniendo el dibujo en azul de una taza de café, el logo de java
Ordercrazy (CC0)

Java es el lenguaje de programación más utilizado hoy en día. Es un lenguaje orientado a objetos, basado en la sintaxis de C y C++ y eliminando algunas características de éstos que daban lugar a errores de programación, como los punteros. Todo el código que escribas en Java debe pertenecer a una clase.

El código fuente se escribe en archivos con extensión .java. El compilador genera por cada clase un archivo .class. Para ejecutar una aplicación programada en Java necesitamos tener instalado un entorno de ejecución (JRE). Para crear aplicaciones en Java necesitamos el kit de desarrollo de Java (JDK), que incluye el compilador.

Como ya viste, existen básicamente dos tecnologías que te permiten programar páginas web dinámicas utilizando Java EE : servlets y JSP (páginas web que contienen instrucciones para añadir contenido de forma dinámica).

Aunque no es así en todos los casos, la mayoría de implementaciones disponibles para JSP compilan cada página y generan un servlet a partir de la misma la primera vez que se va a ejecutar. Este servlet se almacena para ser usado en futuras peticiones.

Por ejemplo, si quieres calcular la suma de dos números y enviar el resultado al navegador, lo podríamos realizar con una página JSP, incluyendo el código en Java dentro de las etiquetas HTML utilizando los delimitadores <% y %> de la siguiente manera:

<!DOCTYPE html>
<html>
  <head>
    <title>Prueba JSP</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    Prueba de página JSP </br>
    La suma de 2 y 3 es: <% out.println(2+3) %>"
  </body>
</html>

O también utilizando el método println dentro de un servlet como el siguiente, que obtiene los valores a sumar de otra página:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class miServlet extends HttpServlet {

	public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

		res.setContentType("text/html");
		PrintWriter out = res.getWriter();

		int num1 = Integer.parseInt(req.getParameter("num1"));
		int num2 = Integer.parseInt(req.getParameter("num2"));

		out.println("<!DOCTYPE html>");
		out.println("<html>");
		out.println("  <head>");
		out.println("    <title>Prueba de servlet</title>");
		out.println("  </head>");
		out.println("  <body>");
		out.println("    Prueba de servlet Java.");
		out.println("    La suma de " + num1 + " + " + num2 + " es: " + (num1 + num2));
		out.println("  </body>");
		out.println("</html>");
	}
}

No hay nada que se pueda hacer con JSP que no pueda hacerse también con servlets. De hecho, como ya viste, las primeras se suelen convertir en servlets para ser ejecutadas.

El problema de utilizar servlets directamente es que, aunque son muy eficientes, son muy tediosos de programar puesto que hay que generar la salida en código HTML con gran cantidad de funciones como println. Este problema se resuelve fácilmente utilizando JSP, puesto que aprovecha la eficiencia del código Java, para generar el contenido dinámico, y la lógica de presentación se realiza con HTML normal.

De esta forma estas dos tecnologías se suelen combinar para crear aplicaciones web. Los servlets se encargan de procesar la información y obtener resultados, y las páginas JSP se encargan del interface, incluyendo los resultados obtenidos por los servlets dentro de una página web.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.