| Docencia | Autor |
Java Server Pages: Un gráfico dinámico
En esta oportunidad, el usuario digitará las dos coordenadas de una recta en un formulario web, la respuesta será un gráfico dinámico, mostrará la recta que el usuario digitó.
En primer lugar detenga el Tomcat (Stop Tomcat)

Vaya al directorio donde instaló el Tomcat y sitúese en el directorio \webapps , allí se crea una nueva carpeta llamada dinamico y dentro de esta carpeta se crea estos directorios
\webapps\dinamico\WEB-INF
\webapps\dinamico\WEB-INF\classes
\webapps\dinamico\WEB-INF\tds
Como se ve en la imagen:

Ahora debe crear el archivo web.xml y situarlo en la carpeta \webapps\dinamico\WEB-INF\, como se ve en la imagen:

El texto es:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>
El siguiente paso es crear un archivo .html , lo llamaré dinamico.html

Este es el texto:
<html>
<body>
<h2>Generando un grafico dinamico<h2>
<form method="post" action="dinamico.jsp" name="">
<font face="Verdana,Helvetica" size="-1" color="#000099">
<p><b>X1:</b> <input type="text" name="x1">
<b> Y1:</b> <input type="text" name="y1"></p>
<p><b>X2:</b> <input type="text" name="x2">
<b>Y2:</b> <input type="text" name="y2"></p>
<input type="submit" name="submit" value="Aceptar">
<input type="reset" name="reset" value="Borrar">
</form>
</body>
</html>
Y se guarda en \webapps\dinamico\

Se crea el archivo dinamico.jsp y este debe ser el código:

<%@ page contentType="image/jpeg"
import="java.awt.*,java.awt.image.*, com.sun.image.codec.jpeg.*,java.util.*"
%>
<%
//Trae los parámetros que digitó el usuario
String sbX1 = request.getParameter("x1");
String sbY1 = request.getParameter("y1");
String sbX2 = request.getParameter("x2");
String sbY2 = request.getParameter("y2");
//Convierte a enteros
int iX1 = Integer.parseInt(sbX1);
int iY1 = Integer.parseInt(sbY1);
int iX2 = Integer.parseInt(sbX2);
int iY2 = Integer.parseInt(sbY2);
// Debe crear un objeto BufferedImage (para poder ser codificado en JPEG)
BufferedImage imgPantalla = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
//El objeto grafico donde se pinta lo que usted quiera
Graphics graPantalla = imgPantalla.getGraphics();
// Color de fondo
graPantalla.setColor(Color.green);
graPantalla.fillRect(0, 0, 200, 200);
//Línea
graPantalla.setColor(Color.blue);
graPantalla.drawLine(iX1, iY1, iX2, iY2);
// Prepara el JSP para responder la petición del usuario
ServletOutputStream objSalida = response.getOutputStream();
// Crea un objeto para codificar en JPEG
JPEGImageEncoder objCodifica = JPEGCodec.createJPEGEncoder(objSalida);
//Codifica la imagen en JPEG
objCodifica.encode(imgPantalla);
%>
Y se guarda en \webapps\dinamico\

Por último hay que decirle a Tomcat que ejecute esa aplicación .jsp, así que debe editar el archivo server.xml que lo puede ubicar en \conf

Busque la última ocurrencia de la etiqueta </context> y en la siguiente línea escriba esto:

<Context path="/dinamico" docBase="dinamico" debug="0" reloadable="true" />
Active el Tomcat "Start Tomcat", abra el navegador y escriba la dirección:
http://localhost:8080/dinamico/dinamico.html
Ya la aplicación debe estar funcionando y debe mostrar este comportamiento:

