Para establecer un entorno de desarrollo JSP, se emplea Java en conjunto con Tomcat, el cual soporta de forma nativa la ejecución de páginas JSP.
Instalación y configuración inicial
- Obtener el JDK y Apache Tomcat desde sus repoistorios oficiales.
- Definir las variables de entorno para Java: establecer JAVA_HOME, añadir las rutas necesarais a CLASSPATH y actualizar PATH.
- Configurar la variable TOMCAT_HOME y copiar el archivo servlet-api.jar de Tomcat al directorio de extensión del JRE.
- Iniciar el servidor Tomcat y comprobar su funcionamiento visitando http://localhost:8080/.
Desarrollo de aplicaciones de prueba
Establecimiento de la estructura de la aplicación
Crear una carpeta nueva dentro del directorio webapps de Tomcat, con una subcarpeta WEB-INF para contener la configuración.
Definición del descriptor de despliegue
El archivo web.xml debe incluir definiciones de servlets y mapeos de URL.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<display-name>Aplicación Ejemplo</display-name>
<description>Demostración básica de JSP y Servlets</description>
<servlet>
<servlet-name>SaludoServlet</servlet-name>
<servlet-class>app.demo.SaludoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SaludoServlet</servlet-name>
<url-pattern>/saludo</url-pattern>
</servlet-mapping>
</web-app>
Creación de una página JSP
Generar un archivo index.jsp en la raíz de la aplicación para mostrar contenido dinámico.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>Página de Inicio JSP</title>
</head>
<body>
<div style="text-align:center;">
<h2>Ejecución de JSP Exitosa</h2>
<p>Fecha y hora actuales: <%= new java.util.Date() %></p>
</div>
</body>
</html>
Acceder a http://localhost:8080/nombre_aplicacion/index.jsp para verificar la ejecución.
Implementación de un Servlet
Desarrollar una clase Servlet en el paquete app.demo para manejar solicitudes HTTP.
package app.demo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SaludoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest peticion, HttpServletResponse respuesta)
throws ServletException, IOException {
respuesta.setContentType("text/html;charset=UTF-8");
try (PrintWriter salida = respuesta.getWriter()) {
salida.println("");
salida.println("<html>");
salida.println("<head><title>Servlet de Saludo</title></head>");
salida.println("<body>");
salida.println("<h1>¡Hola desde el Servlet!</h1>");
salida.println("</body>");
salida.println("</html>");
}
}
}
Compilar el código y asegurar que la configuración en web.xml es correcta. Probar accediendo a http://localhost:8080/nombre_aplicacion/saludo.
Uso de un Java Bean
Crear una clase Java Bean simple para encapsular datos.
package app.demo;
public class InformacionBean {
private String mensaje;
public InformacionBean() {
this.mensaje = "Datos proporcionados por el Bean";
}
public String getMensaje() {
return mensaje;
}
public void setMensaje(String mensaje) {
this.mensaje = mensaje;
}
}
Compilar el Bean y crear una página JSP que lo utilice.
<%@ page import="app.demo.InformacionBean" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>Demostración de Java Bean</title>
</head>
<body>
<div style="text-align:center;">
<% InformacionBean miBean = new InformacionBean(); %>
<h2>Uso del Java Bean</h2>
<p>Resultado: <%= miBean.getMensaje() %></p>
</div>
</body>
</html>
Navegar a la ubicación correspondiente de la página para observar el output generado por el Bean.