JAR vs SÕDA
JAR ja WAR on kahte tüüpi failiarhiivid. Õigemini öeldes on WAR-fail ka JAR-fail, kuid neid kasutatakse erinevatel eesmärkidel. JAR-failid on nagu tuntud ZIP-failid. Neid võiks kasutada mis tahes üldotstarbeliseks arhiveerimiseks, kuid JAR-failide kõige populaarsem kasutamine on nende kasutamine Java-klassi failide ja ressursifailide konteineritena, mis moodustavad Java-rakenduse. WAR-faile kasutatakse spetsiaalselt veebirakenduste juurutamiseks.
Mis on JAR?
JAR (Java ARchive) on failiarhiiv, mis sisaldab palju muid faile. JAR-faile kasutavad Java-arendajad tavaliselt Java-rakenduste või Java-teekide levitamiseks, kasutades JAR-faile Java-klassi failide ja vastavate ressursifailide (st teksti, heli, video jne) mahutitena. JAR-fail on üles ehitatud hästi tuntud failide arhiivimise vormingus ZIP. Kasutajad saavad JAR-failide sisu väljavõtmiseks kasutada kas JDK (Java Development Kit) jar-käsku või tavalist ZIP-tarkvara. JAR-failid on väga mugav viis kogu veebirakenduse allalaadimiseks ühte faili, ilma et peaksite kõiki veebirakendust moodustavaid faile eraldi alla laadima. JAR-failide lugemiseks / kirjutamiseks kasutavad Java-arendajad paketis java.util.zip sisalduvaid klasse. Kui JAR-fail peaks olema täidetud eraldiseisva rakendusena, määratakse üks klassidest manifestifaili kirjetes põhiklassi. Käivitatavaid JAR-faile saab käivitada java-atribuudiga jar (st java -jar foo.jar).
Mis on sõda?
WAR (veebirakendus aRchive) on JAR-fail, mida kasutatakse konteinerina veebirakenduse ressursifailide (mis moodustavad veebirakenduse) rühmale, näiteks JSP (Java Server Pages), servletid, klassifailid, XML-failid ja veeb (HTML)) lehekülgi. WAR-failid tuvastatakse nende.war-faililaiendi järgi. Need töötas välja Sun Microsystems (Java programmeerimiskeele algsed arendajad). JAR-failides (koodi usaldamiseks) kasutatavaid digitaalallkirju saab kasutada ka WAR-failides.
WAR-fail on sisemiselt korraldatud spetsiaalsete kataloogide hierarhiasse. WAR-failis sisalduva veebirakenduse struktuur on määratletud failis web.xml (mis asub kataloogis / WEB-INF). Web.xml kirjeldab ka seda, milline URL on millise servletiga ühendatud. Samuti määratlevad need muutujad, millele serveleti kaudu on juurdepääs, ja sõltuvused, mis tuleb seadistada. Kui aga WAR-fail sisaldab ainult JSP-faile, on fail web.xml valikuline.
Mis vahe on JARil ja WARil?
JAR-failidel on.jar-faililaiend, WAR-failidel aga laiend.war. Kuid WAR-fail on teatud tüüpi JAR-fail. JAR-failid sisaldavad klassifaile, teeke, ressursse ja atribuutide faile. WAR-failid sisaldavad servleti, JSP-lehti, HTML-lehti ja JavaScripti kodeeringuid. JAR-faile kasutatakse terve Java (töölaua) rakenduse arhiivimiseks, WAR-faile aga veebirakenduste juurutamiseks.