究竟是什么Ajax请求?它与Servlet请求不同吗?

时间:2010-01-25 04:43:57

标签: java ajax

谁能有人告诉我。究竟是什么Ajax请求?它与Servlet请求不同吗?

6 个答案:

答案 0 :(得分:46)

Ajax调用是由浏览器启动的异步请求,不会直接导致页面转换。 servlet请求是Java特定术语(servlet是Java规范),用于为可能获得简单GET或POST(等)或Ajax请求的HTTP请求提供服务。

Ajax(“异步Javascript和XML”)请求有时被称为XHR请求(“XmlHttpRequest”),这是大多数浏览器为用于发送Ajax请求的对象提供的名称,因为至少最初的Ajax调用涉及到发送和接收XML,但现在发送/接收JSON,纯文本或HTML也是如此。

Ajax请求的一个很好的例子是Stackoverflow上的注释系统。您可以在文本框中输入注释,然后单击“提交”。它不提交整个页面(就像传统的HTML表单提交一样,通常转换为POST但有时转换为GET HTTP请求)。相反,浏览器可能会通过XHR向服务器发送POST请求,并通知响应(因此“异步”)。但是服务器通常无法区分Ajax请求或页面转换,因为两者都只是归结为HTTP请求。

答案 1 :(得分:6)

Ajax,或异步JavaScript和XML,是一种Web应用程序开发方法,它使用客户端脚本与Web服务器交换数据。因此,网页会动态更新,而不会因整个页面刷新而中断交互流程。

使用Ajax,您可以创建更丰富,更动态的Web应用程序用户界面。客户端。 另一方面,servlet请求在服务器端处理来自UI的请求。

当访问者请求页面时,服务器将立即发送完整的HTML和CSS代码。在访问者填写表单并提交之后,服务器处理信息(Servlet Request对象向servlet提供客户端请求信息.servlet容器创建ServletRequest对象并将其作为参数传递给servlet的服务方法)并重建页。然后它将整页发送回客户端。等等。

使用AJAX时,页面在第一次请求时仅完全加载一次。除了构成页面的HTML和CSS代码之外,还下载了一些JavaScript文件:AJAX引擎。然后,所有对服务器的数据请求都将作为JavaScript调用发送到此引擎。然后,AJAX引擎异步请求来自Web服务器的信息(servlet请求对象包含已更改的请求参数)。因此,仅请求小页面位并将其发送到浏览器,因为用户需要它们。然后引擎显示信息而不重新加载整个页面。这导致响应更快的接口,因为只有必要的信息在客户端和服务器之间传递,而不是整个页面。

有关ajax实现的更多信息,我们可以参考http://www.ibm.com/developerworks/library/j-ajax1/

答案 2 :(得分:2)

Ajax不是一种编程语言或工具,而是一种概念。 Ajax是一个客户端脚本,可以与服务器/数据库进行通信,而无需回发或完整的页面刷新

答案 3 :(得分:1)

从客户端发出一个AJAX请求(使用Javascript),同时从服务器发出一个servlet请求(我想,使用Java)。

我建议你在维基百科或其他地方查阅。

答案 4 :(得分:1)

问题在于,与IT [[**]]中使用的许多术语一样,没有明确定义“AJAX请求”或“Servlet请求”。我能想到的最好的是:

  • AJAX请求是由AJAX应用程序发出的请求。通常,它是由(浏览器驻留的)Javascript发出的HTTP请求,它使用XML来编码请求数据和/或响应数据。在Javascript中制作AJAX请求的标准方法是使用XmlHttpRequest对象,但这是一个实现细节......不是AJAX定义的基础。

  • Servlet请求是对Servlet 的请求。理论上它甚至不需要是HTTP请求,因为Servlet技术(理论上)也设计为可以在其他协议上工作。在我看来,这不是一个特别有用的术语。

所以...一个AJAX请求可以是或不是Servlet请求,而Servlet请求可以是一个AJAX请求。

值得指出的是,有一个名为ServletRequest的Java接口构成了J2EE API的一部分。此接口是一种对象,用于在基于J2EE的Web应用程序容器中传递Web请求的详细信息。因此,当您看到有人使用术语“Servlet请求”时,他们实际上可能正在讨论ServletRequest实例。

[[**实际上,这与任何其他自然语言没有什么不同。单词和短语取决于人们如何使用它们,而不是基于您在字典中可能找到的任何定义。字典“定义”倾向于在单词或短语进入普通用法之后数年或数十年到达,并且它基于如何使用该单词给出了意义,而不是作为意义的说明。 ]

答案 5 :(得分:0)

Ajax 请求是对Web服务器的调用。由您决定如何处理它。 Servlet 绝对是一种方式。