JAR vs WAR
JAR болон WAR нь хоёр төрлийн файлын архив юм. Илүү зөвөөр хэлбэл, WAR файл нь JAR файл боловч өөр өөр зорилгоор ашиглагддаг. JAR файлууд нь сайн мэддэг ZIP файлуудтай адил юм. Тэдгээрийг ямар ч ерөнхий зориулалтын архивлахад ашиглаж болох боловч JAR файлуудын хамгийн түгээмэл хэрэглээ нь Java ангиллын файлууд болон java програмыг бүрдүүлдэг нөөц файлуудад зориулсан контейнер болгон ашиглах явдал юм. WAR файлууд нь вэб програмуудыг ашиглахад тусгайлан ашиглагддаг.
JAR гэж юу вэ?
JAR (Java ARchive) нь бусад олон файлуудыг агуулсан файлын архив юм. JAR файлуудыг Java программууд эсвэл Java номын сангуудыг Java ангиллын файлууд болон холбогдох нөөц файлуудын (i.д. текст, аудио, видео гэх мэт). Сайн мэддэг файл архивлах формат ZIP нь JAR файлыг бүтээх үндэс суурь юм. Хэрэглэгчид JDK (Java Development Kit) эсвэл ердийн ZIP програм хангамжийн jar командыг ашиглан JAR файлын агуулгыг задлах боломжтой. JAR файлууд нь вэб програмыг бүрдүүлдэг бүх файлыг тусад нь татаж авах шаардлагагүйгээр нэг файл дотор вэб програмыг бүхэлд нь татаж авах маш тохиромжтой арга юм. JAR файлуудыг унших/бичихийн тулд Java хөгжүүлэгчид java.util.zip багцад агуулагдах ангиудыг ашигладаг. Хэрэв JAR файлыг бие даасан програмаар ажиллуулахаар төлөвлөж байгаа бол манифест файлын оруулгууд дотор ангиудын аль нэгийг "үндсэн" анги гэж зааж өгөх болно. Гүйцэтгэх боломжтой JAR файлуудыг jar атрибут бүхий java командыг ашиглан ажиллуулж болно (жишээ нь java -jar foo.jar).
ДАЙН гэж юу вэ?
WAR (Вэб програмын архив) нь JSP (Java Server Pages), сервлет, ангийн файлууд, XML зэрэг вэб програмын нөөц файлуудын бүлэгт (вэб программыг бүрдүүлдэг) контейнер болгон ашигладаг JAR файл юм. файлууд болон вэб (HTML) хуудсууд. WAR файлууд нь.war файлын өргөтгөлөөр тодорхойлогддог. Тэдгээрийг Sun Microsystems (Java програмчлалын хэлний анхны хөгжүүлэгчид) боловсруулсан. JAR файлууд дээр ашигласан дижитал гарын үсгийг (кодыг итгэмжлэхийн тулд) WAR файлууд дээр мөн ашиглаж болно.
WAR файл нь дотооддоо тусгай сангуудын шатлалаар зохион байгуулагдсан. WAR файлд агуулагдах вэб програмын бүтцийг web.xml файлд (/WEB-INF лавлах дотор байрладаг) тодорхойлсон. Web.xml нь аль URL нь аль сервлеттэй холбогдож байгааг мөн тодорхойлдог. Тэд мөн сервлет дотор хандах боломжтой хувьсагч болон тохируулах ёстой хамаарлыг тодорхойлдог. Гэсэн хэдий ч, хэрэв WAR файл нь зөвхөн JSP файлуудыг агуулж байвал web.xml файлыг сонгох боломжтой.
JAR болон WAR хоёрын ялгаа юу вэ?
JAR файлууд нь.jar файлын өргөтгөлтэй бол WAR файлууд нь.war өргөтгөлтэй. Гэхдээ WAR файл нь JAR файлын тодорхой төрөл юм. JAR файлууд нь ангийн файлууд, номын сан, нөөц болон өмчийн файлуудыг агуулдаг. WAR файлууд нь сервлет, JSP хуудас, HTML хуудас, JavaScript кодчилол зэргийг агуулдаг. JAR файлуудыг бүхэлд нь Java (ширээний) програмыг архивлахад ашигладаг бол WAR файлуудыг вэб програмуудыг байрлуулахад ашигладаг.