## Cambios del JDK 1.1:
Los Ficheros JAR y los Applets

Puedes proporcionar todas las clases de un applet y los ficheros de datos en un archivo Java (fichero JAR), utilizando la herramienta jar del JDK y el nuevo atributo ARCHIVE de la etiqueta <APPLET>. Utilizar ficheros JAR puede aumentar el rendimiento de un applet de dos formas:

- Puede reducir drásticamente el tiempo de carga del appet.
  Cada uno de los ficheros que un navegador trae a través de la red, tanto si el fichero contiene texto ASCII, bytecodes de Java o datos de imagen, requiere su propia conexión HTTP. Normalmente, el tiempo utilizado en inicializar las conexiones HTTP reduce el rendimiento de la transferencia actual. Mediante el empaquetado de varios ficheros dela pplet en un sólo fichero, se reduce el número de conexiones HTTP que el navegador necesita hacer cuando ejecuta el applet, lo que puede ahorrar muchos segundos en el tiempo de transferencia.

- Puede permitir que los usuarios que haya detrás de cortafuegos utilicen el applet.
  Muchos cortafuegos trabajan de una forma que no permiten que los navegadores obtengan ficheros adicionales para un applet suministrado por uns ervidor que se encuentra fuera del cortafuegos. Poniendo todos las clases del applet y todos los ficheros de datos en un sólo fichero JAR, evitas este problema.

Para decirle al navegador que utilizas un fichero JAR, utiliza el nuevo atributo ARCHIVE de la etiqueta <APPLET>.

    < APPLET
        ...
        [ARCHIVE = JARFile1, JARFile2, ...]
        ...
    >

ARCHIVE = JARFile1, JARFile2, ...
  Este atributo opcional especifica uno o más fichero JAR asociados con el Applet. Los ficheros JAR deberían estar en el mismo directorio que los ficheros class del applet. Para especificar que el archivo no está en el mismo directorio que el documento que contiene la etiqueta <APPLET>, especifica el atributo CODEBASE.

  Siempre que un navegador necesita cargar un fichero necesitado por un applet, primero busca en el fichero JAR del applet. Si no lo encuentra en el primer fichero JAR especificado con ARCHIVE lo busca en cualquier otro archivo JAR especificado, en el orden en el que fueron especificados. Si el fichero falala y no lo encuentra en un fichero JAR, busca en el directorio base del applet. [¿Tenemos garantizado que el orden de los ficheros JAR especificados es el orden en el que el navegador buscará?]

Aquí tienes un ejemplo de cómo crear y especificar un fichero JAR. Asume que tu applet consiste en dos ficheros de clase y un fichero de imagen.
Puedes crear un fichero JAR que contenga los tres ficheros. Por ejemplo, en Solaris, utilizando el JDK, podrías utilizar este comando:

    jar cvf MyApplet.jar AnAppletSubclass.class Helper.class aPic.gif

Luego puedes especicar el fichero JAR al navegador utilizando esta etiqueta <APPLET>:

    <APPLET
        ARCHIVE = MyApplet.jar
        CODE = AnAppletSubclass.class
        WIDTH = 300
        HEIGHT = 100
    >
    </APPLET>

Aquí tienes un ejemplo más complejo de la etiqueta <APPLET> que utiliza el atributo ARCHIVE:

    <APPLET CODEBASE="example/"
            ARCHIVE="AppletButton.jar, IntlWindow.jar,  Media.jar"
            CODE="AppletButton.class"
            WIDTH=350 height=60
    <PARAM NAME="windowWidth" VALUE=500>
    <PARAM NAME="windowHeight" VALUE=130>
    Since you can't run the applet, here's a picture of it:
    <br>
    <IMG SRC="images/AroundTheWorld_trans.gif" WIDTH=316 HEIGHT=411>
    </APPLET>

Ozito