Что именно представляет собой Ajax-запрос? Отличается ли он от запроса сервлета? - PullRequest
22 голосов
/ 25 января 2010

может кто-нибудь сказать мне. Что именно представляет собой Ajax-запрос? Отличается ли он от запроса сервлета?

Ответы [ 6 ]

47 голосов
/ 25 января 2010

Ajax-вызов - это асинхронный запрос, инициированный браузером, который не приводит непосредственно к переходу страницы. Запрос сервлета - это специфический для Java термин (сервлеты - это спецификация Java) для обслуживания HTTP-запроса, который может получить простой запрос GET или POST (и т. Д.) Или Ajax.

Запрос Ajax («Асинхронный Javascript и XML») иногда называется запросом XHR («XmlHttpRequest»), то есть именем, которое большинство браузеров дают объекту, используемому для отправки запроса Ajax, потому что по крайней мере изначально вызовы Ajax включали отправка и получение XML, но теперь столь же распространено отправлять / получать JSON, простой текст или HTML.

Хорошим примером запроса Ajax является система комментариев в Stackoverflow. Вы можете ввести комментарий в текстовое поле и нажать кнопку Отправить. Он не передает всю страницу (как при отправке традиционной HTML-формы, которая обычно переводится в POST, но иногда в запрос GET HTTP). Вместо этого браузер, вероятно, отправит POST-запрос через XHR на сервер и получит уведомление об ответе (следовательно, «асинхронный»). Но сервер обычно не может различить Ajax-запрос или переход страницы, потому что оба просто сводятся к HTTP-запросам.

7 голосов
/ 25 января 2010

Ajax, или асинхронный JavaScript и XML, - это подход к разработке веб-приложений, использующий сценарии на стороне клиента для обмена данными с веб-сервером. В результате веб-страницы динамически обновляются без полного обновления страницы, что прерывает поток взаимодействия.

С помощью Ajax вы можете создавать более богатые и динамичные пользовательские интерфейсы веб-приложений. I.e. сторона клиента. С другой стороны, запросы сервлета находятся на стороне сервера для обработки запроса, отправленного из пользовательского интерфейса.

Когда посетитель запрашивает страницу, сервер сразу отправляет полный код HTML и CSS. После того как посетитель заполняет форму и отправляет ее, сервер обрабатывает информацию (объект запроса сервлета предоставляет информацию о запросе клиента сервлету. Контейнер сервлета создает объект ServletRequest и передает его в качестве аргумента методу службы сервлета) и перестраивает стр. Затем он отправляет полную страницу обратно клиенту. И так далее.

При использовании AJAX страница загружается целиком только один раз, при первом запросе. Помимо HTML и CSS-кода, составляющего страницу, также загружаются некоторые файлы JavaScript: движок AJAX. Все запросы данных на сервер будут отправляться как вызовы JavaScript этому движку. Затем механизм AJAX запрашивает информацию с веб-сервера асинхронно (объект запроса сервлета содержит параметры запроса, которые были изменены). Таким образом, только небольшие биты страницы запрашиваются и отправляются в браузер, так как они нужны пользователю. Затем движок отображает информацию без перезагрузки всей страницы. Это приводит к гораздо более адаптивному интерфейсу, поскольку между клиентом и сервером передается только необходимая информация, а не вся страница.

Для получения дополнительной информации о реализации AJAX мы можем обратиться http://www.ibm.com/developerworks/library/j-ajax1/

2 голосов
/ 21 декабря 2015

Ajax - это не язык программирования или инструмент, а концепция. Ajax - это сценарий на стороне клиента, который взаимодействует с сервером / базой данных и обратно без необходимости обратной передачи или полного обновления страницы

1 голос
/ 25 января 2010

Проблема в том, что, как и многие другие термины, используемые в ИТ [[**]], нет четкого определения «запроса AJAX» или «запроса сервлета». Лучшее, что я могу придумать, это:

  • AJAX-запрос - это запрос, сделанный приложением AJAX . Как правило, это HTTP-запрос, сделанный (резидентом браузера) Javascript, который использует XML для кодирования данных запроса и / или данных ответа. Стандартный способ сделать AJAX-запрос в Javascript - это использовать объект XmlHttpRequest, но это деталь реализации ... не принципиальная для определения AJAX.

  • Запрос сервлета - это запрос к сервлету . В теории это даже не должен быть HTTP-запрос, так как технология Servlet (в теории) предназначена для работы и над другими протоколами. На мой взгляд, это не особенно полезный термин.

Итак ... запрос AJAX может быть запросом сервлета или нет, а запрос сервлета может быть запросом AJAX или нет.

Стоит отметить, что существует интерфейс Java под названием ServletRequest, который является частью API J2EE. Этот интерфейс представляет собой тип объекта, который используется для передачи сведений о веб-запросе в контейнере веб-приложения на основе J2EE. Поэтому, когда вы видите, что кто-то использует термин «запрос сервлета», он может говорить об экземпляре ServletRequest.

[[** На самом деле, это ничем не отличается от любого другого естественного языка. Слова и фразы приобретают значение в зависимости от того, как их используют люди, а не на основании определения, которое вы можете найти в словаре. Словарь «определение» имеет тенденцию появляться спустя годы или десятилетия после того, как слово или фраза становится общеупотребительным, и он дает значение, основанное на том, как слово (или использовалось) используется, а не является спецификацией значения. ]]

1 голос
/ 25 января 2010

AJAX-запрос выполняется (с использованием Javascript) с клиента, а сервлет-запрос (с использованием, я полагаю, Java) с сервера.

Предлагаю вам посмотреть его в Википедии или в другом месте.

0 голосов
/ 25 января 2010

Ajax запросы - это обращения к веб-серверу. Это зависит от вас, как вы хотите справиться с этим. Сервлет это определенно один путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...