| free hosting image hosting hosting reseller online album e-shop famous people | ||
![]() ![]() |
||
| Docencia | Autor |
Java Server Pages: Validando y redirigiendo
Problema: El usuario digita las dos coordenadas para dibujar una línea, pero antes de dibujar la línea debe validar que efectivamente el usuario haya escrito esos valores.
Solución: Aquí se utilizan dos .JSPs y se usa redirección

Este es evaluar.html

<html>
<body>
<h2>Validando y redirigiendo<h2>
<form method="post" action="prueba.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>
Este es prueba.jsp (el que valida y redirige)
<html>
<body>
<%
//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");
if(sbX1.length() == 0 || sbY1.length() == 0 || sbX2.length() == 0 || sbY2.length() == 0)
{
%>
<br>Falta llenar coordenadas<br>
<%}
else
{
request.setAttribute("x1", sbX1);
request.setAttribute("y1", sbY1);
request.setAttribute("x2", sbX2);
request.setAttribute("y2", sbY2);
%>
<jsp:forward page="dinamico.jsp"/>
<%
}
%>
</body>
</html>
Este es dinamico.jsp (el que dibuja)
<%@ 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 donse 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);
%>