Cargar un Servlet con Ajax

La semana pasada escribía un artículo sobre los comienzos con ajax, en él indicaba una forma fácil para cargar un documento estático en cualquier capa de una página.

En algún momento hice referencia a poder cargar documentos que contuvieran funciones javascript o incluso servlets.

Esto si es posible, pero siempre con algunas recomendaciones para evitar problemas futuros.

Recomendaciones para evitar problemas.

Las funciones javascript deberían ser declaradas en la plantilla base, es decir, donde se establecen las diferentes capas, al lado de las funciones ajax y a ser posible (para mejor organización) en ficheros .js externos al documento, así para cualquier cambio será todo mucho más sencillo.

Las direcciones deberíamos (por lo menos al principio) ponerlas absolutas y a medida que vaya funcionando ir cambiándolas por relativas, así cargaremos menos el servidor. En caso de no tener problema de carga las podríamos dejar como absolutas.

Cuando carguemos una página en una capa, si esta llama a alguna función ya estará declarada en la plantilla base y no habrá ningún problema de ejecución.

Cómo cargar un servlet en una capa con Ajax

La sintaxis sería la misma que con una página normal, nosotros llamaríamos a nuestra función cargar página y le pasaríamos la dirección del servlet (http://localhost:8080/Prueba/ServletPrueba?accion=1) tal cual la usaríamos para acceder normal.

Ahora, el servlet se ejecutará y la salida, por ejemplo, si redirecciona a un .jsp aparecerá en la capa.

La única modificación que tendremos que hacer será modificar los enlaces generados dentro del servlet para que se vuelvan a cargar dentro de la capa, al igual que llamamos al servlet, hacer las demás llamadas.

Recordad que si en algún momento tenemos que ejecutar varias instrucciones javascript a la vez podemos usar un sólo evento, por ejemplo, el onLoad y separarlas con “;”

onLoad(javascrip1();javascrip2())

Artículos relacionados



Comentarios en Cargar un Servlet con Ajax

Hay 4 Comentarios en el artículo Cargar un Servlet con Ajax, ¿a qué esperas para dar tu opinión?


  1. [...] Como ventajas podemos destacar que permitirá la creacción de aplicaciones Ajax de una manera más cómoda y facilitando la integración y desarrollo mediante la tecnología RAP con Java. [...]

  2. javiman dice:

    He estado leyendo tu artículo y me parece muy interesante pero no se como hacer esto: “La única modificación que tendremos que hacer será modificar los enlaces generados dentro del servlet para que se vuelvan a cargar dentro de la capa” como debe ser la url que genere dentro del servlet y que redirecciono con el método getServletConfig().getServletContext().getRequestDispatcher(”/error.jsp”).forward(request,
    response);

    Te agradezco tu ayuda de antemano.

  3. Emirodgar dice:

    Hola javiman! al igual que haces la primera llamada para cargar el servlet, por ejemplo:

    CargarAjax(’ServletPrueba?accion=1′,’capa1′)

    Las url del jsp generado por ese Servlet deberían ser de la misma manera:

    CargarAjax(’ServletPrueba?accion=2′,’capa1′)

    ya que si no lo haces de esta manera, la nueva página se cargará en toda la página y no solo en una capa como debería de ser.

  4. Emirodgar dice:

    No se si me he explicado…

Deja un comentario