Foros del Web » Programación para mayores de 30 ;) » Java »

paso de String (tlf) entre dos servlets

Estas en el tema de paso de String (tlf) entre dos servlets en el foro de Java en Foros del Web. Saludos a la comunidad, espero que me puedan ayudar, Estoy tratando de pasar un dato String de servlets a servlet , les muestro el proceso ...
  #1 (permalink)  
Antiguo 15/02/2013, 16:51
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
paso de String (tlf) entre dos servlets

Saludos a la comunidad,

espero que me puedan ayudar,
Estoy tratando de pasar un dato String de servlets a servlet , les muestro el proceso
lo más ordenado posible

Empieza la aplicacion en el Index.jsp:

Código java:
Ver original
  1. <html>
  2.     <head>
  3.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4.         <title>JSP Page</title>
  5.     </head>
  6.     <body>
  7.         <h1 align="center">***PIZZERIA***</h1>
  8.         <br>      
  9.         <form action="/PizzasHoja2/verT" method="POST" style="text-align:center">
  10.             <br>
  11.             introduce el telefono<input type="text" name="telefono"></input>
  12.             <br></br>
  13.             <p align="center"><input type="submit" value="Enviar"></input></p>
  14.            
  15.         </form>
  16.     </body>
  17. </html>

En verT recojo la variable con request.getParameter("telefono")
y conecto a la BD para ver si el telefono está o no. Si no lo encuentra doy mensaje,si lo encuentra redirijo al Servlet Confirmacion

esto lo hago, con :

request.getRequestDispatcher("Confirmacion").forwa rd(request, response);
y funciona, pero además quiero volver a pasar el telefono,porque lo necesito para
hacer otra consulta a la BD,

Código Java:
Ver original
  1. protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  2.             throws ServletException, IOException {
  3.         response.setContentType("text/html;charset=UTF-8");
  4.         PrintWriter out = response.getWriter();
  5.        
  6.         try {
  7.             bbdd mibase=new bbdd("jdbc:odbc:bdpizza","sun.jdbc.odbc.JdbcOdbcDriver");
  8.             String tlf=request.getParameter("telefono");            
  9.             mibase.abrir();
  10.             int res=BDuser.buscarTelefono(tlf, mibase);
  11.             mibase.cerrar();          
  12.            if(res<1){
  13.            out.println("no esta");              
  14.                
  15.            }
  16.            else
  17.            {
  18.          
  19.                request.getRequestDispatcher("Confirmacion").forward(request, response);
  20.                request.setAttribute("tlf", tlf);
  21.              
  22.            }
  23.            
  24.            
  25.         } finally {            
  26.             out.close();
  27.         }
  28.     }

El navegador me redirije a Confirmacion.java, pero cuando imprimo la variable para ver si efectivamente la ha pasado, me sale como null:

Código Java:
Ver original
  1. protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  2.             throws ServletException, IOException {
  3.         response.setContentType("text/html;charset=UTF-8");
  4.         PrintWriter out = response.getWriter();
  5.         try {
  6.              
  7.             String tlf="";
  8.             tlf=(String)request.getAttribute("tlf");          
  9.             out.println("su telefono es : "+tlf);
  10.            
  11.                        
  12.         } finally {            
  13.             out.close();
  14.         }
  15.     }

No lo entiando, porque he depurado y en los puntos de interrupción puedo ver que la variable está,

Espero que la explicación este clara, porque es la primera vez que uso "highligt"
Gracias por anticipado.
  #2 (permalink)  
Antiguo 16/02/2013, 04:25
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 7 meses
Puntos: 306
Respuesta: paso de String (tlf) entre dos servlets

Fíjate en tu código, en el segundo servlet buscas el telefóno en los atributos, ¿y cuándo metes el telefono en los atributos? después de haber llamado al segundo servlet.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 16/02/2013, 10:12
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: paso de String (tlf) entre dos servlets

Gracias por su respuesta!!
encontré la solución
Saludos

Etiquetas: jsp, paso, servlet, servlets, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:33.