| free hosting image hosting hosting reseller online album e-shop famous people | ||
![]() ![]() |
||
| Docencia | Autor |
Java Server Pages: Llamando a otra clase.
Problema: Hacer una aplicación JSP que muestre al usuario un formulario en el cual esté un campo para digitar la ecuación algebraica, una vez digite la ecuación el programa generará una imagen con el gráfico matemático.
Solución: Para entender una ecuación digitada por teclado (porque es solo un String), se requiere de un evaluador de expresiones, en otras palabras, una clase aparte.
Nota: La solución se mantiene bastante simple (sin validaciones)
1. Créase un directorio llamado evaluar en la ruta del TomCat
C:\Archivos de programa\Apache Group\Tomcat 4.1\webapps\evaluar y coloca dos archivos evaluar.html y evaluar.jsp
2. El código de evaluar.html
<html>
<body>
<h2>Generando un grafico dinamico<h2>
<form method="post" action="evaluar.jsp" name="">
<font face="Verdana,Helvetica" size="-1" color="#000099">
<p><b>Ecuacion:</b> <input type="text" name="ecuacion">
<input type="submit" name="submit" value="Aceptar">
<input type="reset" name="reset" value="Borrar">
</form>
</body>
</html>

3. El código de evaluar.jsp

<%@ page contentType="image/jpeg"
import="java.awt.*,java.awt.image.*, com.sun.image.codec.jpeg.*,java.util.*, EvalExpr2.*"
%>
<%
//Nuevo objeto evaluador de expresiones
EvalExpr2 objExpresion = new EvalExpr2();
//Trae la ecuación del usuario
String sbEcuacion = request.getParameter("ecuacion");
float fValor = objExpresion.fEvaluaEcuacion(sbEcuacion);
// Debe crear un objeto BufferedImage (para poder ser codificado en JPEG)
BufferedImage imgPantalla = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
//El objeto grafico donse se pinta lo que usted quiera
Graphics graPantalla = imgPantalla.getGraphics();
// Color de fondo
graPantalla.setColor(Color.black);
graPantalla.fillRect(0, 0, 200, 200);
//Dibuja la linea
graPantalla.setColor(Color.white);
for (int iValorX = -50; iValorX <= 50; iValorX++)
{
objExpresion.fVariable['x'-'a']=iValorX; //Valor de X
fValor = objExpresion.fRapidoEvalua();
graPantalla.drawLine(iValorX, (int)fValor, iValorX, (int)fValor);
}
// 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);
%>
4. Ahora falta colocar la clase que evalúa la expresión, eso es en el directorio
C:\Archivos de programa\Apache Group\Tomcat 4.1\webapps\evaluar\WEB-INF\classes\EvalExpr2

5. Muy importante: dentro del código de la clase evaluador de expresiones debe usarse la instrucción package

Descargue el evaluador dando clic aquí
6. Ahora la prueba

