[JavaEnEspañol] Como mando a llamar un java desde javascript con jsp

4,905 views
Skip to first unread message

iscomarcortes

unread,
Sep 6, 2006, 7:45:46 PM9/6/06
to ServerJa...@yahoogrupos.com.mx
Hola se que suena medio enredado pero me gustaria saber como puedo
hacer para mandar a llamar un funcion en java desde el codigo de
javascript con un textfield de html como parametro para la funcion en
java... es algo como esto
mis campos son

        <tr class="cifras_centro_azul">
          <td width="50%">Usuario</td>
          <td width="50%">
            <input type="TEXT" id="txtuser" name="txtuser">
          </td>
        </tr>
        <tr class="cifras_centro_azul">
          <td>Contrase&ntilde;a</td>
          <td>
            <input type="PASSWORD" id="txtpwd" name="txtpwd">
          </td>
        </tr>
y la funcion en javascript es la siguiente.

      function entrar()
      {
       
        <%
          mypackage1.login usr = new mypackage1.login();
          System.out.println(request.getAttribute("user"));
          boolean enc = usr.login(request.getParameter("txtuser"),
request.getParameter("txtpwd"));
          if(enc)
          {
        %>
          alert("I Find it"); //aqui ira el submit para la pagina que
sigue
        <%
          }
          else
          {
        %>
          alert("No ta");//aqui ira el ubmit de la pagina de error
        <%
          }
        %>
      }
    </script>

gracias por sus respuestas.







__._,_.___

---------------------------------------------------------------
Para suspender temporal o definitivamente el que se le envien correos, visite:
http://mx.groups.yahoo.com/group/ServerJavaMexico/join
ahi tambien podrá modificar sus preferencias para recibir unicamente un resumen diario de los correos.

Gracias por participar en el grupo
==================================
Para visitar este grupo en Internet, ve a:
     http://mx.groups.yahoo.com/group/ServerJavaMexico/

<*> Para cancelar tu suscripción a este grupo, envía un mensaje a:
     ServerJavaMexi...@yahoogrupos.com.mx

<*> El uso de Yahoo! Grupos está sujeto a los:
     http://mx.yahoo.com/docs/info/utos.html








Enlaces de Yahoo! Grupos

__,_._,___

Jerf

unread,
Sep 7, 2006, 9:38:30 AM9/7/06
to ServerJa...@yahoogrupos.com.mx
Puedes usar JSON-RPC ó DWR

http://oss.metaparadigm.com/jsonrpc/

http://getahead.ltd.uk/dwr/

Saludos cordiales

Jerf

Efrain Gutierrez

unread,
Sep 7, 2006, 12:48:31 PM9/7/06
to ServerJa...@yahoogrupos.com.mx
Que feo esta eso.. Porque no consideras el uso de Servlets o mejor aun
algun Framework MVC como Struts.??



--- En ServerJa...@yahoogrupos.com.mx, "iscomarcortes"
<iscomarcortes@y...> escribió:

Ricardo Meneses Benítez

unread,
Sep 7, 2006, 2:31:48 PM9/7/06
to ServerJa...@yahoogrupos.com.mx
Feo???
Y si quiero hacer llamadas asincronas???
AJAX???

Efrain Gutierrez <jefr...@yahoo.com.mx> escribió:


Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx __._,_.___

Jerf

unread,
Sep 7, 2006, 3:05:52 PM9/7/06
to ServerJa...@yahoogrupos.com.mx
Esto da lugar a una discusión interesante.

En efecto, tradicionalmente las aplicaciones web han seguido el modelo
request-response de HTTP; de manera que las interfaces de usuario suelen
ajustarse a un patrón en donde el usuario completa el llenado de una
forma la cual se envía usando el método POST de HTTP y en el server es
procesado, sea directamente por un servlet (y su equivalente en JSP) ó
bien mediante un esquema más sofisticado como el que brinda Struts.

Sin embargo este paradigma está cambiando rápidamente pues en general
los usuarios demandan interfaces de usuario más responsivas, en donde
para hacer el llenado de su forma piden tener continuas interacciones
con el servidor, muy al estilo de los clientes gordos hechos con Visual
Basic y herramientas similares.

El hecho de que los navegadores actuales soportan un mecanismo llamado
XmlHttpRequest (el cual fue introducido originalmente por Microsoft) y
que actualmente está siendo estandarizado por el W3C está haciendo
posible que se puedan hacer aplicaciones web que se ajusten a ese nuevo
paradigma que muchos llaman AJAX.

Bajo ese paradigma es absolutamente posible que una página del navegador
invoque a un servicio en el servidor y que brinde un comportamiento como
el que fue consultado por el compañero.

Desde mi punto de vista esto requiere un enfoque en la arquitectura del
software en donde el servidor entrega páginas HTML enriquecidas con
Javascript al navegador, de manera que el navegador ejecuta ese código
Javascript embebido en la página y que en esencia gobierna el
comportamiento de la página. Bajo este esquema, a diferencia del
paradigma tradicional de las aplicaciones web, las páginas que el
servidor entrega al navegador no son tontas, al contrario, tienen un
comportamiento que es controlado con Javascript.

En este sentido se requiere modelar adecuadamente las páginas, pues
contiene objetos que ejecutab acciones. Después de todo Javascript es un
lenguaje bastante rico y expresivo que permite implementar aplicaciones
bastante poderosas.

Por supuesto que esto agrega un nivel de complejidad a las aplicaciones,
pues ahora la capa de presentación se divide en dos partes: la que
controla el flujo entre páginas y la que controla los microcambios que
el Javascript controla al momento que el usuario interactúa con la página.

Hay a quienes esto les puede parecer feo, a otros les puede parecer
bonito. La cuestión es que se trata de una respuesta a las crecientes
demandas de los usuarios del software, quienes quieren interfaces de
usuario ricas sin las penurias de la distribución de software que tienen
las aplicaciones cliente-servidor tradicionales.

Como le dije al compañero en mi respuesta; puede usar JSON-RPC ó DWR;
pero sobre todo, la recomendación es que aprenda a hacer buena
programación con Javascript.

Un saludo cordial.

Jerf


Ricardo Meneses Benítez wrote:
> Feo???
> Y si quiero hacer llamadas asincronas???
> AJAX???
>
> */Efrain Gutierrez <jefr...@yahoo.com.mx>/* escribió:
> ------------------------------------------------------------------------
> Do You Yahoo!? La mejor conexión a Internet y *2GB* extra a tu correo

Luis Rodrigo Gallardo Cruz

unread,
Sep 6, 2006, 8:59:56 PM9/6/06
to ServerJa...@yahoogrupos.com.mx
On Wed, Sep 06, 2006 at 11:45:46PM -0000, iscomarcortes wrote:
> Hola se que suena medio enredado pero me gustaria saber como puedo
> hacer para mandar a llamar un funcion en java desde el codigo de
> javascript con un textfield de html como parametro para la funcion en
> java...

¡AJAX!


> <%
> mypackage1.login usr = new mypackage1.login();
> System.out.println(request.getAttribute("user"));
> boolean enc = usr.login(request.getParameter("txtuser"),
> request.getParameter("txtpwd"));
> if(enc)
> {
> %>

Esto ponlo en tu servlet container en algún lado. Haz que regrese algo
que puedas distinguir. Por ejemplo vacio en error y los datos en
'encontrado' o algo así. Depende de tu aplicación.


> function funcion() {


> alert("I Find it"); //aqui ira el submit para la pagina que
> sigue
> <%
> }
> else
> {
> %>
> alert("No ta");//aqui ira el ubmit de la pagina de error
> <%
> }
> %>
> }

En el javascript pon una llamada al objeto window.XMLHttpRequest,
haciendolo llamar a la URL donde está tu función Java. Con lo que te
regresa, revisas para ver en que caso estás y tomas la acción
adecuada.

Revisa los tutoriales de AJAX que abundan ahora por la red. A mi me
sirvió el que está en el Mozilla Developer Center (perdí la URL, lo siento)

--
Rodrigo Gallardo
GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28

signature.asc

Ing. Omar Roberto Cortés Pérez

unread,
Sep 8, 2006, 12:36:29 AM9/8/06
to ServerJa...@yahoogrupos.com.mx
Efrain tu respuesta es muy coherente, y en si es lo que estoy revisando, dado que si ha representado un problema esto, eso es lo que hare, muchas gracias.
 
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica"
 
Saludos
Ing. Omar Roberto Cortés Pérez
TELCEL: 5585635658

Efrain Gutierrez

unread,
Sep 9, 2006, 11:51:02 AM9/9/06
to ServerJa...@yahoogrupos.com.mx
Entonces usa
Lazlo
http://www.openlaszlo.org/

o DOJO

http://dojotoolkit.org/

o Combinados

Pero de todas maneras la funcion que quieres hacer es logeo, y eso es
propiamente de un controlador, y no de una llamada asincrona.

Para llamadas asicronas puedes hacerlo con los ya mencionados, pero de
todas maneras eso solo cubre parte de la arquitectura de tu aplicacion
Web.

Saludos.





--- En ServerJa...@yahoogrupos.com.mx, Ricardo Meneses Benítez
<rmenesesb@y...> escribió:

>
> Feo???
>   Y si quiero hacer llamadas asincronas???
>   AJAX???
>
> Efrain Gutierrez <jefrainmx@y...> escribió:
> ---------------------------------
Reply all
Reply to author
Forward
0 new messages