Web Java là gì? Chúng được khởi động như thế nào?

Web Java là gì và chúng được hoạt động như thế nào? Mời bạn đọc tham khảo các nội dung chi tiết thông qua bài viết. 

Mục lục bài viết

Web Java là gì?

Ứng dụng Java Web được định nghĩa là một tập hợp các tệp JAR và ZIP, lớp Java và các tài nguyên hỗ trợ như hình ảnh, XML, thuộc tính và tệp HTML. Đây là một trong những định nghĩa căn bản nếu bạn muốn học Java. 

Các phiên bản gần đây của Java Web Start thậm chí còn cho phép truyền các thư viện gốc như Windows dll, tệp Unix .so và các gói thành tệp JAR để thực thi trên máy tính khách. 

Các tệp này được tập hợp và mô tả như một ứng dụng duy nhất bằng cách sử dụng tệp kê khai được tạo với các thông số kỹ thuật được mô tả trong thông số kỹ thuật Giao thức Khởi động Mạng Java (JNLP). 

Tệp kê khai (còn được gọi là tệp JNLP) về cơ bản là một tệp XML được lưu với phần mở rộng .jnlp. Dưới đây là nội dung của tệp JNLP mẫu:

<? xml version = "1.0" encoding = "UTF-8"?> 
<jnlp spec = "1.0+" codebase = "http://myserver.com/sampleapp" 
href = "webstart.jnlp"> 
<nguồn> 
< j2se version = "1.7+" 
href = "http://java.sun.com/products/autodl/j2se" /> 
<jar href = "startup.jar" main = "true" /> 
<jar href = "sampleapp .jar "/> 
</resources> 
<application-desc 
name =" Ứng dụng Mẫu " 
main-class =" mypkg.sampleapp.startup.Main "> 
</application-desc> 
<update check =" background "/> 
</ jnlp>

Đối với tệp JNLP, bạn cần lưu ý một số điểm như sau:

Những điều sau được ngụ ý bởi tệp JNLP này:

  • Tất cả các tài nguyên và cơ sở mã ứng dụng, bao gồm cả tệp JNLP này, đều có sẵn tại vị trí mạng http://myserver.com/sampleapp. Tất cả các tham chiếu tương đối đến tệp phải được giải quyết dựa trên URL cơ sở này.
  • Ứng dụng này có tên là ‘Ứng dụng mẫu’ và bao gồm hai tệp jar: startup.jarsampleapp.jar.
  •  Lớp có phương thức chính có tên đầy đủ là mypkg.sampleapp.startup.Main. Lớp này có thể được tìm thấy trong tệp startup.jar.
  • Ứng dụng này yêu cầu tối thiểu Java phiên bản 1.7 để chạy. Nếu JRE tương ứng không có sẵn trên máy khách, nó sẽ được tải xuống từ vị trí http://java.sun.com/products/autodl/j2se.

Tất cả các tệp jar / zip và tệp kê khai được lưu trữ trên máy chủ Web để truy cập từ xa qua HTTP. Tên máy chủ và đường dẫn tương đối trong đó để truy cập các tệp này phải khớp với URL cơ sở. Kiểm tra này cũng có thể áp dụng cho chính tệp JNLP.

Thông thường để khởi động ứng dụng là sử dụng trình duyệt Web, như Internet Explorer hoặc Mozilla Firefox, để tải một trang có chứa liên kết đến tệp JNLP. 

Khi nhấp vào liên kết, trình duyệt sẽ gọi trình khởi chạy JNLP (một phần của bản phân phối Java Web Start) trên màn hình máy khách và chuyển URL đến tệp JNLP.

Sau đó, trình khởi chạy JNLP tải xuống tệp kê khai, đọc cùng một tệp, sau đó tải xuống tất cả các tệp JAR và ZIP khác được đề cập trong tệp kê khai. Sau đó, trình khởi chạy thực thi lớp Java chính (cũng được đề cập trong tệp kê khai) để khởi động ứng dụng.

Web Java hoạt động như thế nào?

Cập nhật ứng dụng Web Java

Mỗi tệp tài nguyên được đề cập trong tệp kê khai JNLP mang một số phiên bản. Số phiên bản cũng được liên kết với tệp kê khai. 

Những con số này sẽ thay đổi khi các tài nguyên tương ứng được cập nhật cho phiên bản mới hơn của ứng dụng. Điều này cho phép Java Web Start chỉ tải xuống có chọn lọc những phần ứng dụng đã trải qua một sự thay đổi.

Sử dụng Web Java ngoại tuyến

Tất cả các tài nguyên đã tải xuống được trình khởi chạy JNLP lưu vào bộ nhớ đệm ở phía máy khách. Các tài nguyên này được truy cập từ bộ nhớ đệm cục bộ khi ứng dụng được khởi chạy vào lần tiếp theo. 

Điều này làm giảm thời gian khởi động ứng dụng Web Start. Các tài nguyên vẫn còn trong bộ nhớ cache cho đến khi có sự thay đổi về số phiên bản như được định nghĩa bởi tệp JNLP.

Các ứng dụng được phân phối và khởi chạy bằng Web Start có thể được tùy chọn cài đặt ở phía máy khách theo cách lâu dài hơn. 

Các phím tắt trên màn hình được tạo cho phép các ứng dụng ngoại tuyến này được khởi chạy trực tiếp từ bên trong Java Web Start mà không cần mở một trang web từ xa trong trình duyệt và không cần kết nối mạng.

Đoạn JNLP mẫu sau đây cho thấy cách một ứng dụng Web Start có thể được xác định để có khả năng khởi chạy ngoại tuyến:

<? xml version = "1.0" encoding = "UTF-8"?> 
<jnlp spec = "1.0+" codebase = "" href = ""> 
<information> 
<title> Tiêu đề ứng dụng ở đây </title> 
<nhà cung cấp > Tên nhà cung cấp ở đây </vendor> 
<icon href = "someicon.jpg" /> 
<offline-allow /> 
</information> 
... 
</jnlp>

Bảo vệ

Các ứng dụng được thực thi qua Java Web Start trong môi trường hộp cát do Web Start xác định. Hộp cát này giới hạn quyền truy cập vào máy tính cục bộ và tài nguyên từ bên trong ứng dụng đang được thực thi. Đặc biệt:

  • Ứng dụng sẽ không có quyền truy cập vào đĩa cục bộ ngoài các vị trí cụ thể được hộp cát xác định.
  • Tất cả các tài nguyên mà ứng dụng yêu cầu chỉ có thể được tải từ các tệp JAR được đề cập trong tệp kê khai JNLP.
  • Không thực thi các thư viện gốc, ngay cả khi chúng được cung cấp như một phần của định nghĩa JNLP.
  • Tất cả các tệp jar cấu thành ứng dụng phải nằm trên cùng một URL máy chủ.
  • Không có quyền truy cập vào mạng ngoài máy chủ mà ứng dụng này bắt nguồn từ đó.

Một số hạn chế này có thể được nới lỏng trong thời gian chạy sau khi hiển thị các cảnh báo và lời nhắc xác nhận phù hợp mà người dùng phải cho phép một cách rõ ràng.

Để cho phép truy cập không hạn chế vào các tài nguyên cục bộ và mạng, tất cả các tệp jar cấu thành ứng dụng phải được ký bằng chứng chỉ kỹ thuật số từ một cơ quan có thẩm quyền. Điều này cho phép người dùng lựa chọn để tin tưởng người ký và cấp cho ứng dụng quyền truy cập tài nguyên cục bộ. 

Nếu chứng chỉ không phải từ một cơ quan đã thiết lập, hệ thống vẫn có thể cấp quyền truy cập không giới hạn, miễn là người dùng cấp rõ ràng chứng chỉ đó thông qua hộp thoại xác nhận.

Ngoài ra, tệp kê khai (MANIFEST.MF) trong tất cả các tệp jar ứng dụng phải bao gồm các cặp khóa – giá trị sau để jar tương ứng được thực thi theo cách không hạn chế:

Quyền: tất cả các quyền 
Codebase: * 
Trusted-Only: true 
Trusted Library: true

Ngoài ra, hãy sửa đổi tệp kê khai JNLP để bao gồm những điều sau:

<? xml version = "1.0" encoding = "UTF-8"?> 
<jnlp spec = "1.0+" codebase = "" href = ""> 
... 
<security> 
<all-permissions /> 
</security> 
... 
</jnlp>

Ngay cả khi tất cả các thư giãn này được thực hiện, Java Web Start vẫn có thể nhắc người dùng xác nhận trước khi các đặc quyền được cấp cho ứng dụng đang thực thi.

Tổng kết

Như vậy thông qua bài viết trên đây, Box.edu đã cùng bạn tìm hiểu Web Java là gì và cách khởi động của chúng. Chúng tôi hy vọng những kiến thức trên sẽ hữu ích đối với bạn đọc.

Cảm ơn và chúc bạn thành công!

5/5 - (5 bình chọn)