Curso de J2EE

Acción plugin

Permite incluir applets en la jsp que la define, sin que el programador deba preocuparse ni por su correcta visualización en el cliente ni de que sus recursos se hospeden en el mismo servidor que la jsp. No obstante, cuando en la máquina cliente hay instaladas varias versiones del JRE, puede haber problemas.

Lo que hace esta acción es identificar el tipo y versión del cliente web mediante el encabezado de petición User-Agent y generar código html específico para ese cliente que permita asegurar la correcta visualización del applet sin importar versión ni tipo de cliente.

Tiene muchos atributos coincidentes con los de la etiqueta <applet> asociada a los applets Java. Los principales son los siguientes:

Hay más, pero estos son los más utilizados. Una línea típica que trabajara con esta acción sería algo así:

.
.

Ejemplo: muestra el uso de la acción plugin. Se va a incluir en la respuesta generada por BoletinConApplet.jsp, el applet JuegoCapitales. Para que funcione correctamente se copiarán los class del applet (JuegoCapitales.class, JuegoCapitales$1.class y JuegoCapitales$2.class) a tomcat_home\webapps\jsp-examples. Para ejecutar el ejemplo, agregar al proyecto de JCreator JSPs, BoletinConApplet.jsp y teclear en el cliente http://hostProfesor:8080/jsp-examples/BoletinConApplet.jsp

Aquí están los class el html del applet

Código de BoletinConApplet.jsp:

Para acceder al código completo de BoletinConApplet.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente

 

NOTA 1: acceder al menú Ver/Código fuente desde el cliente y observar el código html que se agrega a la respuesta

.

<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="700" height="350" codebase="http://java.sun.com/products/plugin/1.2.2/jinstall-1_2_2-win.cab#Version=1,2,2,0">

<PARAM name="java_code" value="JuegoCapitales.class">

<PARAM name="type" value="application/x-java-applet;">

<COMMENT>

<EMBED type="application/x-java-applet;" width="700" height="350" pluginspage="http://java.sun.com/products/plugin/" java_code="JuegoCapitales.class">

<NOEMBED>

</COMMENT>

</NOEMBED></EMBED>

</OBJECT>.

 

NOTA 2: si el fichero JuegoCapitales.class se guardara en tomcat_home\webapps\jsp-examples\applet, para que pueda visualizarse el applet debe añadirse el atributo codebase=”applet”.

<jsp:plugin type="applet" code="JuegoCapitales.class" codebase="applet" width="700" height="350">

</jsp:plugin><hr><p>

 

NOTA 3: si se desea mostrar un applet almacenado en un servidor remoto, por ejemplo en el de brinkster

<jsp:plugin type="applet" code="JuegoCapitales.class" codebase="http://www10.brinkster.com/trilcejf/applets" width="700" height="350">

</jsp:plugin><hr><p>

 

NOTA 4: la etiqueta <jsp:plugin> admite dos subetiquetas:
  • <jsp:params> y su cierre.

Se utiliza para pasar parámetros al applet que se muestra en la jsp. Dichos parámetros se pasan a través de <jsp:param> con los atributos name y value. El value admite expresiones. Es similar al paso de parámetros en los applets.

  • <jsp:fallback> y su cierre.

Se utiliza para mostrar un mensaje al cliente en caso de que el applet no pueda visualizarse


Acción forward

Permite delegar la petición a otra jsp, un servlet o a una página html de la misma aplicación web. Idéntico al RequestDispatcher.forward(..) de los servlets.

RequestDispatcher rd=request.getRequestDispatcher(urlLocal);
rd.forward(request,response);

El código del servlet generado en base a las líneas de la jsp traducidas hasta antes de llegar a la línea que contiene esta acción, se descarta y, todo el proceso comienza de nuevo teniendo en cuenta el nuevo recurso que debe encargarse de procesar la petición.

Todas las líneas de la jsp inicial que aparezcan después de aquella que contiene esta acción no se consideran. Sólo admite un atributo de nombre page.

Sintaxis habitual:

El contenido del atributo es un url local que apunta al recurso en el que se delega el procesamiento de la petición. Para definirlo se emplean los mismos criterios que en la directiva include.

Puede ser el valor evaluado por una expresión.

Ejemplo 1: muestra el uso de la acción forward. Para ejecutar el ejemplo, agregar al proyecto de JCreator JSPs, Forward.jsp y Delegada.jsp, y teclear en el cliente http://localhost:8080/jsp-examples/Forward.jsp

Código de Forward.jsp

Para acceder al código completo de Forward.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente

Código de Delegada.jsp

Para acceder al código completo de Delegada.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente

NOTA: la etiqueta <jsp:forward> admite la subetiqueta <jsp:param> con los atributos name y value para pasar parámetros a la jsp en la que se delega. En este caso, su sintaxis es:

  

El atributo value puede ser una expresión

Ejemplo 2: muestra el uso de la acción forward pasando parámetros al recurso en el que se delega. Para ejecutar el ejemplo, agregar al proyecto de JCreator JSPs, ForwardParametros.jsp y DelegadaParametros.jsp, y teclear en el cliente http://localhost:8080/jsp-examples/ForwardParametros.jsp

Código de ForwardParametros.jsp

Para acceder al código completo de ForwardParametros.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente

Código de DelegadaParametros.jsp

Para acceder al código completo de DelegadaParametros.jsp, ir a  menú Ver/Código fuente, una vez pulsado el enlace de abajo

Código fuente



Si desea obtener un acceso sin restricciones a los contenidos del curso de J2EE y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.