Jsp y wml

Hola j007 necesito tu ayuda tu sabes como haría para pasar el nombre de una caja de texto hecha en wml a jsp, la idea es enviar por ejemplo un nombre en un teléfono móvil e imprimirlo en el mismo móvil
Te agradezco cualquier ayuda

1 respuesta

Respuesta
1
Así, a vuelo de pájaro, te podría decir, esto lo trabajo en modelo de 3 capas, es decir, una capa de base de datos, una capa de lógica de negocio y una capa de presentación.
Si entendí bien, tienes el texto hecho en wml, es decir, en la capa de presentación(cliente). Tienes que tomar ese mensaje y llevarlo a la capa de lógica de negocio la cual debe estar en el servidor web(yo utilizo Apache-Tomcat). Desde allí lo puedes enviar a una Base de Datos, o devolverlo a la capa de presentación con otro formato(pag. Web, formulario, impresora, archivo de texto, otro móvil, lo que quieras).
Para el lunes te envío los scripts de JSP y XML necesarios para hacer la solicitud desde el cliente hacia el servidor y luego la transformación para reenviar hacia otro cliente. Lamentablemente no puedo antes ya que no los tengo a mano, no me los se de memoria, y cuando realice esto en otra oportunidad lo hice con servlets.
Paciencia estoy trabajando en eso.
Ok muchas gracias pls espero tu rta j007 te agradezco la amabilidad
Como decia Arquimedes: "EUREKA lo encontre".
Halle el código fuente del servlet que utilice como modelo de desarrollo para WML y hace exactamente lo que necesitas.
Pero antes dos puntos: 1.- Es un servlet no exactamente un JSP, pero es lo mismo. La diferencia entre JSP y Servlet es que el primero permite separar mejor la capa de presentación de la capa de lógica de negocio. Para un estudio más profundo del tema te recomiendo la página www.programacion.com, en la sección de Java hay muchísima información sobre estas dos caras de la misma tecnología.
2.- El JSP y/o servlet genera un flujo (stream) para el protocolo HTTP y necesitas un Gateway WAP (servidor intermedio) para trasnformar el HTTP a WML.
El código es el siguiente:
/* Servlet que genera, de forma compacta un card WML
* con elemento de entrada de datos (solicitando un
* nombre) como parte del procesamiento de una
* solicitud GET, y que devuelve como respuesta
* de la solicitud POST del dato, otro card WML en el
* que se indica el nombre obtenido en el servidor.
*
* Este tipo de codificación, en la que un mismo servelt
* genera el elemento de entrada de datos como respuesta
* a una solicitud HTTP de tipo GET y genera asimismo la
* respuesta a los datos enviados desde el anterior elemento,
* usando esta vez una solicitud POST, marca la pauta de lo
* que debería ser un modelo de desarrollo de servlet
* para la generación dinámica de contenidos WAP.
*/
import javax.servlet.http.*;
import javax.servlet.ServletException;
import java.io.PrintWriter;
import java.io.IOException;
public class PostServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Especificación de tipo MIME
response.setContentType("text/vnd.wap.wml");
// Obtención de manejar out para el flujo de salida
PrintWriter out = response.getWriter();
out.println("<wml>");
out.println("<card>");
out.println("<do='accept'>");
out.println("<go href = 'http://mi_servidor_wap/servlet/ejemplo' method='POST'");
out.println("</do>");
out.println("<p>");
out.println("Introduzca su nombre:<br>");
out.println("<input name = 'nombre'>");
out.println("<p>");
out.println("</card>");
out.println("</wml>");
// Se cierra el flujo de salida
out.close();
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException
{
// Tipo MIME de la respuesta
response.setContentType("text/vnd.wap.wml");
// Obtención de datos del objeto request
String nombre = request.getParameter("nombre");
// Obtención manejador de flujo de salida
PrintWriter out = response.getWriter();
out.println("<wml>");
out.println("<card id='carta1' title = 'Ejemplo1'>");
out.println("<p>Respuesta de servlet:");
out.println("Hola" + nombre);
out.println("<p></card>");
out.println("</wml>");
// Se cierra el flujo de salida
out.close();
}
}
POSDATA: Lamentablemente este medio no permite la transferencia de archivos.
Si tienes algún problema con el código o cualquier otra duda no dejes de avisarme (recuerda que un punto y coma mal ubicado hecha a perder todo).
Para una comunicación más directa mi e-mail es: [email protected] y si estas en Venezuela mi teléfono celular es 0414-2258567.
Suerte y mucho ÉXITO

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas