JAR vs WAR
JAR e WAR sono due tipi di archivi di file. Più correttamente, un file WAR è anche un file JAR, ma sono usati per scopi diversi. I file JAR sono come file ZIP noti. Possono essere utilizzati per qualsiasi scopo di archiviazione generico, ma l'uso più comune dei file JAR li utilizza come contenitori per i file di classe Java e i file di risorse che costituiscono un'applicazione java. I file WAR sono utilizzati specificamente per la distribuzione di applicazioni Web.
Cos'è JAR?
JAR (Java ARchive) è un archivio di file che trasporta molti altri file. I file JAR vengono solitamente utilizzati dagli sviluppatori Java per distribuire applicazioni Java o librerie Java utilizzando i file JAR come contenitori per i file di classe Java e i corrispondenti file di risorse (ad esempio testo, audio, video e così via). Il noto formato di archiviazione di file ZIP è la base su cui è costruito il file JAR. Gli utenti possono utilizzare il comando jar del JDK (Java Development Kit) o del normale software ZIP per estrarre il contenuto dei file JAR. I file JAR sono un modo molto conveniente di scaricare un'intera applicazione web in un singolo file, senza dover scaricare separatamente tutti i file che compongono l'applicazione web. Per leggere / scrivere file JAR, gli sviluppatori Java usano le classi contenute nel pacchetto java.util.zip. Se il file JAR deve essere eseguito come applicazione autonoma, una delle classi verrà specificata come classe "main" all'interno delle voci del file manifest. I file JAR eseguibili possono essere eseguiti utilizzando il comando java con l'attributo jar (ad esempio java -jar foo.jar).
Cos'è WAR?
WAR (Web Application aRchive) è un file JAR utilizzato come contenitore per un gruppo di file di risorse dell'applicazione Web (che costituiscono un'applicazione Web) come JSP (Java Server Pages), servlet, file di classe, file XML e Web (HTML ) pagine. I file WAR sono identificati dalla loro estensione di file .war. Sono stati sviluppati da Sun Microsystems (sviluppatori originali del linguaggio di programmazione Java). Le firme digitali utilizzate sui file JAR (per affidare il codice) possono essere utilizzate anche sui file WAR.
Un file WAR è organizzato internamente in una gerarchia di directory speciali. La struttura dell'applicazione web contenuta nel file WAR è definita nel file web.xml (che risiede all'interno della directory / WEB-INF). Web.xml descrive anche quale URL è connesso con quale servlet. Definiscono anche le variabili accessibili all'interno della servelet e delle dipendenze che devono essere impostate. Tuttavia, se il file WAR contiene solo file JSP, il file web.xml è facoltativo.
Qual è la differenza tra JAR e WAR?
I file JAR hanno l'estensione del file .jar, mentre i file WAR hanno l'estensione .war. Ma, un file WAR è un tipo specifico di un file JAR. I file JAR contengono file di classe, librerie, risorse e file di proprietà. I file WAR contengono servlet, pagine JSP, pagine HTML, codice JavaScript. I file JAR vengono utilizzati per archiviare un'intera applicazione Java (desktop), mentre i file WAR vengono utilizzati per distribuire applicazioni Web.