SoloCodigo

Programación General => Java => Mensaje iniciado por: LordJhony en Lunes 27 de Septiembre de 2010, 17:43

Título: Pasar Variables Por Un Formulario
Publicado por: LordJhony en Lunes 27 de Septiembre de 2010, 17:43
Hola De Nuevo.... Otra Consulta...
Tengo Un Servlet Que Usa Cierta Cantidad De Variables.
 Lo Que Necesito Es Enviar Algunas De Esas Variables
A Otro Servlet Atraves De Un Formulario...
Espero Me Puedan Colaborar... Muchas Gracias
Título: Re: Pasar Variables Por Un Formulario
Publicado por: arielb en Martes 28 de Septiembre de 2010, 07:17
Hola, lo que podrias usar es una clase que contenga los atributos encapsulados, esta clase contiene los campos del formulario.
Luego creas un objeto de esa clase y la cargas con lo valores que correspondan a cada campo y por ultimo lo metes en una sesion(HttpSession)
Y en el sevlet que lo necesitas usas esa session y la destruyes cuando ya no la necesitas
Bueno espero haberme explixado
Título: Re: Pasar Variables Por Un Formulario
Publicado por: LordJhony en Martes 28 de Septiembre de 2010, 17:12
La Verdad Creo Que No Me Hice Entender.
Tengo Una Pagina Jsp  En Donde Esta El Siguiente Form
Código: Text
  1. <form action="Materia" method="post">
  2. <table align='center' width='50%'>
  3. <tr><td height="100" colspan='100' align='center'><h2><b>Registrar Materia</b></h2><br /></td></tr>
  4. <tr><td height="24"><ul><ul><ul><ul><b>Identificaci&oacute;n: </b></ul></ul></ul</ul></ul><br /></td><td><input type="text" size="30" name="id"/></td>
  5. <tr><td height="24"><ul><ul><ul><ul><b>Nombre: </b></ul></ul></ul</ul></ul><br /></td><td><input type="text" size="30" name="nombre"/></td>
  6. <tr><td height="24"><ul><ul><ul><ul><b>Componente: </b></ul></ul></ul</ul></ul><br /></td><td><input type="text" size="30" name="componente"/></td>
  7. <tr><td height="24"><ul><ul><ul><ul><b>Programa: </b></ul></ul></ul</ul></ul><br /></td><td><input type="text" size="30" name="programa"/></td>
  8. <tr><td height="0" colspan='2' align='center'>
  9. <tr><td colspan='4' align='center'><br /><br /><input type='submit' value='Agregar' name="B1" id="B1"/>      
  10. <input type='submit' value='Modificar' name="B2" id="B2" />      
  11. <input type='submit' value='Eliminar' name="B3" id="B3" /><br /><br /></td></tr>
  12. <tr><td colspan='2' align='center'><input type='button' value='Volver' name="B4" onclick="history.go(-1)" />            
  13. <input type='button' value='Salir' name="B5" onclick="window.close();" /></td></tr>
  14. </table></form>
  15.  
Las Variables De Los Inputs Type Text Son Recibidas En Un Servlet.
Yo Lo que Necesito Es Que Una Vez Recibido el Dato De
Código: Text
  1. <input type="text" size="30" name="programa"/>
  2.  
En El Servlet
Yo Pueda Mandar Ese Dato A Otro Servlet
Título: Re: Pasar Variables Por Un Formulario
Publicado por: arielb en Martes 28 de Septiembre de 2010, 17:34
Si exactamente a eso me refería.
Puedes usar POJO's para el manejo de todos los campos que tienes en un formulario o también manejarlos por variables separadas.

Código: Java
  1. //Servlet1
  2.  
  3.  String strPrograma;
  4.  HttpSession session;
  5.        
  6.  session=request.getSession();
  7.  
  8.  strPrograma = request.getParameter("programa");
  9.  if (strPrograma!=null){
  10.      session.setAttribute("programaSesion", strPrograma);
  11.      response.sendRedirect("Servlet2");
  12.  }
  13.  

Código: Java
  1. //Servlet2
  2.  
  3. String strPrograma2;
  4. HttpSession session;
  5.        
  6.  session=request.getSession();
  7. strProgrma2 = (String)session.getAttribute("programaSesion");
  8. session.removeAttribute("programaSesion");
  9.  
Título: Re: Pasar Variables Por Un Formulario
Publicado por: LordJhony en Martes 28 de Septiembre de 2010, 18:16
Muchas Gracias Me Sirvio de Mucho Tu Ayuda.
Otra Pequeña Duda En Caso De Que El Valor Sea int Tambien Se Usa De La Misma Manera
Título: Re: Pasar Variables Por Un Formulario
Publicado por: LordJhony en Miércoles 29 de Septiembre de 2010, 16:50
He Hecho Lo Que Me Has Sugerido Pero Cuando Ejecuto Me Sale Este Error

HTTP Status 405 - El Metodo HTTP GET no es soportado por esta URL

--------------------------------------------------------------------------------

type Status report

messageEl Metodo HTTP GET no es soportado por esta URL

descriptionThe specified HTTP method is not allowed for the requested resource (El Metodo HTTP GET no es soportado por esta URL).


--------------------------------------------------------------------------------

GlassFish/v3
Título: Re: Pasar Variables Por Un Formulario
Publicado por: LordJhony en Miércoles 29 de Septiembre de 2010, 17:08
En Esta Linea
Código: Java
  1. session.setAttribute("programaSesion", strPrograma);
  2.  
Que Es "programaSesion"
Título: Re: Pasar Variables Por Un Formulario
Publicado por: arielb en Martes 5 de Octubre de 2010, 05:05
en tú forma tiene puesto el método post
Código: Text
  1.  <form action="Materia" method="post">
  2.  

y en el servlet estás usando el metodo get
Título: Re: Pasar Variables Por Un Formulario
Publicado por: LordJhony en Martes 5 de Octubre de 2010, 16:21
Mira De La Pagina Jsp Al Primer Servlet Trabaja.... Pero De Este Servlet Al Otro Es Cuando Sale El Error.
Título: Re: Pasar Variables Por Un Formulario
Publicado por: arielb en Jueves 7 de Octubre de 2010, 03:06
El servlet2 trabajará con el método que se activó en el servlet anterior, en este caso post, pero para usar los valores ya deberás trabajar con sesiones del servlet1 al sevlet2
Título: Re: Pasar Variables Por Un Formulario
Publicado por: LordJhony en Jueves 7 de Octubre de 2010, 13:28
Como Podria Hacer Eso... La Verdad Estoy Un Poco Flojo