2010-01-25 38 views

Trả lời

1

Yêu cầu AJAX được thực hiện (sử dụng Javascript) từ máy khách, trong khi yêu cầu servlet được thực hiện (sử dụng, tôi giả sử, Java) từ máy chủ.

Tôi đề nghị bạn nên tìm trên Wikipedia hoặc một số địa điểm khác.

29

Cuộc gọi Ajax là yêu cầu không đồng bộ được khởi tạo bởi trình duyệt không trực tiếp dẫn đến chuyển đổi trang. Một yêu cầu servlet là một thuật ngữ Java-specifc (các servlet là một đặc tả Java) để phục vụ một yêu cầu HTTP có thể nhận được một yêu cầu GET hoặc POST đơn giản (hoặc) hoặc một yêu cầu Ajax.

Yêu cầu Ajax ("Không đồng bộ Javascript và XML") đôi khi được gọi là yêu cầu XHR ("XmlHttpRequest"), là tên mà hầu hết trình duyệt cung cấp cho đối tượng được sử dụng để gửi yêu cầu Ajax. việc gửi và nhận XML nhưng bây giờ nó là phổ biến để gửi/nhận JSON, văn bản thuần hoặc HTML.

Một ví dụ hay về yêu cầu Ajax là hệ thống nhận xét trên Stackoverflow. Bạn có thể nhập nhận xét vào hộp văn bản và nhấp vào gửi. Nó không gửi toàn bộ trang (giống như một biểu mẫu HTML truyền thống, sẽ chuyển thành thường một POST nhưng đôi khi một yêu cầu GET HTTP). Thay vào đó, trình duyệt sẽ gửi một yêu cầu POST qua XHR tới máy chủ và được thông báo về phản hồi (do đó "không đồng bộ"). Nhưng máy chủ thường không thể phân biệt giữa một yêu cầu Ajax hoặc chuyển đổi trang vì cả hai chỉ đơn giản là đi xuống các yêu cầu HTTP.

+0

Ví dụ và giải thích tốt! – Kaushal28

0

Ajax yêu cầu là các cuộc gọi đến máy chủ web. Đó là vào bạn như thế nào bạn muốn xử lý nó. Servlet chắc chắn là một cách.

1

Vấn đề là, giống như nhiều cụm từ được sử dụng trong CNTT [[**]] không có định nghĩa rõ ràng về "yêu cầu AJAX" hoặc "yêu cầu Servlet". Điều tốt nhất tôi có thể đưa ra đây là:

  • Một yêu cầu AJAX là một yêu cầu làm bởi một ứng dụng AJAX. Thông thường, nó là một yêu cầu HTTP được thực hiện bởi (trình duyệt cư trú) Javascript sử dụng XML để mã hóa dữ liệu yêu cầu và/hoặc dữ liệu phản hồi. Cách tiêu chuẩn để thực hiện một yêu cầu AJAX trong Javascript là sử dụng một đối tượng XmlHttpRequest, nhưng đó là một chi tiết thực hiện ... không cơ bản với định nghĩa của AJAX.

  • Yêu cầu Servlet là yêu cầu được thực hiện cho Servlet. Về lý thuyết, nó không cần phải là một yêu cầu HTTP, vì công nghệ Servlet (theo lý thuyết) được thiết kế để làm việc trên các giao thức khác. Theo tôi, đây không phải là một thuật ngữ đặc biệt hữu ích.

Vì vậy, yêu cầu AJAX có thể là yêu cầu Servlet hay không, và yêu cầu Servlet có thể là yêu cầu AJAX hay không.

Điều đáng nói là có một giao diện Java có tên là ServletRequest là một phần của các API J2EE. Giao diện này là một loại đối tượng được sử dụng để chuyển các chi tiết của một yêu cầu web xung quanh trong một thùng chứa ứng dụng web dựa trên J2EE. Vì vậy, khi bạn thấy ai đó sử dụng thuật ngữ "Yêu cầu Servlet", họ có thể thực sự đang nói về một cá thể ServletRequest.

[[** Thực ra, điều này không khác với bất kỳ ngôn ngữ tự nhiên nào khác.Các từ và cụm từ đạt được ý nghĩa tùy thuộc vào cách mọi người sử dụng chúng, không dựa trên bất kỳ định nghĩa nào bạn có thể tìm thấy trong từ điển. Từ điển "định nghĩa" có xu hướng đến nhiều năm hoặc nhiều thập kỷ sau khi một từ hoặc cụm từ được sử dụng phổ biến, và nó mang lại ý nghĩa dựa trên cách từ (hoặc đã) được sử dụng, chứ không phải là một đặc tả của một ý nghĩa. ]]

5

Ajax hoặc JavaScript và XML không đồng bộ, là một cách tiếp cận để phát triển ứng dụng Web sử dụng tập lệnh phía máy khách để trao đổi dữ liệu với máy chủ Web. Do đó, các trang Web được cập nhật động mà không làm mới toàn bộ trang làm gián đoạn luồng tương tác.

Với Ajax, bạn có thể tạo giao diện người dùng ứng dụng Web phong phú hơn, năng động hơn.i.e. phía khách hàng. Mặt khác, các yêu cầu servlet nằm ở phía máy chủ để xử lý yêu cầu được gửi từ giao diện người dùng.

Khi khách truy cập yêu cầu một trang, máy chủ sẽ gửi toàn bộ mã HTML và CSS cùng một lúc. Sau khi khách truy cập điền vào một biểu mẫu và gửi nó, máy chủ xử lý thông tin (đối tượng Yêu cầu Servlet cung cấp thông tin yêu cầu của máy khách cho một servlet. Thùng chứa servlet tạo đối tượng ServletRequest và chuyển nó làm đối số cho phương thức dịch vụ của servlet) và xây dựng lại trang. Sau đó nó sẽ gửi toàn bộ trang trở lại máy khách. Và cứ thế.

Khi sử dụng AJAX, trang được tải hoàn toàn chỉ một lần, lần đầu tiên được yêu cầu. Bên cạnh mã HTML và CSS tạo nên trang, một số tệp JavaScript cũng được tải xuống: công cụ AJAX. Tất cả các yêu cầu dữ liệu cho máy chủ sẽ được gửi dưới dạng các cuộc gọi JavaScript đến công cụ này. Động cơ AJAX sau đó yêu cầu thông tin từ máy chủ web không đồng bộ (đối tượng yêu cầu servlet chứa các tham số yêu cầu đã được thay đổi). Do đó, chỉ các bit trang nhỏ được yêu cầu và được gửi tới trình duyệt, vì chúng được người dùng cần. Sau đó, công cụ sẽ hiển thị thông tin mà không cần tải lại toàn bộ trang. Điều này dẫn đến một giao diện đáp ứng nhiều hơn, bởi vì chỉ có thông tin cần thiết được truyền giữa máy khách và máy chủ chứ không phải toàn bộ trang.

Để biết thêm về thực hiện ajax chúng ta có thể tham khảo http://www.ibm.com/developerworks/library/j-ajax1/

3

Ajax không phải là một ngôn ngữ lập trình hoặc một công cụ, nhưng một khái niệm. Ajax là một kịch bản phía máy khách liên lạc đến và từ một máy chủ/cơ sở dữ liệu mà không cần phải đăng lại hoặc làm mới toàn bộ trang

Các vấn đề liên quan