JAR vs WAR
JAR và WAR là hai loại lưu trữ tệp. Chính xác hơn, tệp WAR cũng là tệp JAR, nhưng chúng được sử dụng cho các mục đích khác nhau. Các tệp JAR giống như các tệp ZIP nổi tiếng. Chúng có thể được sử dụng cho bất kỳ mục đích lưu trữ chung nào, nhưng việc sử dụng các tệp JAR phổ biến nhất là sử dụng chúng làm các thùng chứa cho các tệp lớp Java và các tệp tài nguyên tạo nên một ứng dụng java. Các tệp WAR được sử dụng riêng cho việc triển khai các ứng dụng web.
JAR là gì?
JAR (Java ARchive) là một kho lưu trữ tệp mang nhiều tệp khác. Các tệp JAR thường được các nhà phát triển Java sử dụng để phân phối các ứng dụng Java hoặc thư viện Java bằng cách sử dụng các tệp JAR làm bộ chứa cho các tệp lớp Java và các tệp tài nguyên tương ứng (ví dụ: văn bản, âm thanh, video, v.v.). Định dạng lưu trữ tệp nổi tiếng ZIP là cơ sở mà tệp JAR được xây dựng trên đó. Người dùng có thể sử dụng lệnh jar của JDK (Bộ phát triển Java) hoặc phần mềm ZIP thông thường để trích xuất nội dung của các tệp JAR. Các tệp JAR là một cách rất thuận tiện để tải xuống toàn bộ ứng dụng web trong một tệp, mà không phải tải xuống tất cả các tệp tạo nên ứng dụng web riêng biệt. Để đọc / ghi các tệp JAR, các nhà phát triển Java sử dụng các lớp có trong gói java.util.zip. Nếu tệp JAR được coi là được thực thi dưới dạng một ứng dụng độc lập, thì một trong các lớp sẽ được chỉ định là lớp chính của các lớp trong các mục của tệp kê khai. Các tệp JAR có thể thực thi có thể được chạy bằng lệnh java với thuộc tính jar (tức là java -jar foo.jar).
WAR là gì?
WAR (Ứng dụng web aRchive) là một tệp JAR được sử dụng làm vùng chứa cho một nhóm các tệp tài nguyên ứng dụng web (tạo nên một ứng dụng web) như JSP (Trang máy chủ Java), tệp dịch vụ, tệp lớp, tệp XML và web (HTML ) trang. Các tệp WAR được xác định bởi phần mở rộng tệp .war của chúng. Chúng được phát triển bởi Sun microsystems (nhà phát triển ban đầu của ngôn ngữ lập trình Java). Chữ ký số được sử dụng trên các tệp JAR (để ủy thác mã) cũng có thể được sử dụng trên các tệp WAR.
Một tệp WAR được tổ chức nội bộ theo một hệ thống phân cấp các thư mục đặc biệt. Cấu trúc của ứng dụng web có trong tệp WAR được xác định trong tệp web.xml (nằm trong thư mục / WEB-INF). Web.xml cũng mô tả URL nào được kết nối với servlet nào. Họ cũng xác định các biến có thể truy cập được bên trong servelet và các phụ thuộc phải được thiết lập. Tuy nhiên, nếu tệp WAR chỉ chứa các tệp JSP, thì tệp web.xml là tùy chọn.
Sự khác biệt giữa JAR và WAR là gì?
Các tệp JAR có phần mở rộng tệp .jar, trong khi các tệp WAR có phần mở rộng .war. Nhưng, tệp WAR là một loại cụ thể của tệp JAR. Các tệp JAR chứa các tệp lớp, thư viện, tài nguyên và tệp thuộc tính. Các tệp WAR chứa các tiện ích con, trang JSP, trang HTML, mã hóa JavaScript. Các tệp JAR được sử dụng để lưu trữ toàn bộ ứng dụng Java (máy tính để bàn), trong khi các tệp WAR được sử dụng để triển khai các ứng dụng web.