ProgrammingJavaLecture9

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

1

Programowanie Java

9

Technologia AJAX

Tradycyjny przepływ danych przeglądarka –

serwer

Przepływ danych w technologi AJAX

Zalety i wady

Obiekt XMLHttpRequest

Elementy JavaScript

Aktualizacja DOM

Współpraca skrypt servlet

Przykład podpowiedzi

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

2

Tradycyjny przepływ

informacji

przeglądarka - serwer

Wymiana informacji następuje w

formie całych stron www

Duża ilość informacji do przesłania

Powtarzanie sie informacji na każdej

stronie

Konieczność wysłania całej formy aby

wykryć błędne dane

wolny czas działania – model

synchroniczny

“nie-interakcyjny” model działania

użytkownik – komputer

Zalety - prostota

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

3

Przeglądarka WWW -

Serwer

Sekwencja wymiany informacji

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

4

Przepływ danych AJAX

Wymiana informacji w formie

wiadomości

Nie jest ładowana nowa strona

Przesyłanie małych ilości informacji

Szybkie wykrywanie błędów

Duża szybkość – zwykle model

asynchroniczny

użytkownik ma odczucie interakcyjnego

działania systemu

Wady – wymaga połączenia kilku

technik

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

5

AJAX - przepływ

AJAX - asynchroniczny

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

6

Obiekt XMLHttpRequest

W przeglądarce

Zadanie

Wysłać wiadomość do serwera bez

przeładowywania strony

Zapewnić zawołanie funcji “callback” w

celu przetworzenia odpowiedzi

Umożliwić przetworzenie odpowiedzi

zakodowanej w XML (Opcjonalne)

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

7

Elementy JavaScript do

aktywacji połączenia AJAX

Skrypt wstawiany w dokument HTML

<script type="text/javascript">
// tworzymy obiekt komunikacyjny
var req = new XMLHttpRequest();
// ustalamy “Callback”
req.onreadystatechange = processReqChange;
// otwiermy połączenie i wysyłamy wiadomość (w url)
req.open("GET", url, true);
req.send(null);
</script>

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

8

Funkcja Callback

Callback

<script type="text/javascript">
function processReqChange() {
// tylko jeśli req jest w stanie "complete"
if (req.readyState == 4) { // tylko gdy "OK"
if (req.status == 200) {
// ...Tutaj jest kod zmieniający wygląd AKTUALNEJ

strony...

} else { alert("Problem z połączeniem AJAX:\n" +

req.statusText);

}
}
}

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

9

Wysyłanie wiadomości

W formie URL

JavaScript “odczytuje” wpisaną

wartość w element z

identyfikatorem "complete-field" i

“dopisuje” do adresu

var target =

document.getElementById("complete-

field");

var input = target.value;
var url = "autocomplete?

action=complete&id=" + input;

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

10

Strona Serwera

URL zawiera nazwę servletu

informacja z pola formy (tego

właśnie edytowanego) jest

“dopisana do adresu”

“http://localhost/xml/checkUserName.

php?q=to+co+wpisalem”

Uwaga znak + zastępuje spacje

Wartość “q” jest zwracana przez

metodę request.getParameter(“q”);

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

11

Serwer side

Po stronie serwera przetwarzamy

wiadomość AJAX tak jakby to była

zwykła forma

Wygodnie jest wysłać odpowiedź w

formacie XML

sb.append("<employee>");
sb.append("<id>" + e.getId() + "</id>");
sb.append("<firstName>" + e.getFirstName() + "</firstName>");
sb.append("<lastName>" + e.getLastName() + "</lastName>");
sb.append("</employee>");

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

12

Zmienianie aktualnej

strony

DOM – Document Object Model

JavaScript może

znajdować elementy

names = document.getElementById("names");

dodawać elementy

var linkElement = document.createElement("a");

wstawiać elementy

nameCell.appendChild(linkElement);

zmieniać zawartość (zwykle tekst)

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

13

Przykład – jak Google

Suggest

Sugeruje co wpisać w formę

Nie wyszukuje w sieci ale wsród

kilku imion

Nie jest zoptymalizowany na

szybkość (wolne) połączeń

internetowych

Krótki kod i można łatwo zrozumieć

background image

30/12/01

Programowanie Java 6

Copyright Marek A.

Chmielowski

14

AJAX a Java

Technologia Ajax nie jest powiązana

tylko Java i serwerem aplikacji

Popularne są aplikacje AJAX

współpracujące z serwerem PHP

Java, servlety i rozbudowany serwer

aplikacji dają najwięcej możliwości

Ale kosztem sporej komplikacji


Document Outline


Wyszukiwarka

Podobne podstrony:
Nowy Prezentacja programu Microsoft PowerPoint 5
Charakterystyka programu
1 treści programoweid 8801 ppt
Programowanie rehabilitacji 2
Rola rynku i instytucji finansowych INowy Prezentacja programu Microsoft PowerPoint
Nowy Prezentacja programu Microsoft PowerPoint ppt
Szkoła i jej program
wykluczenie społ program przeciwdział
Nowa podstawa programowa WF (1)
Programowanie robotów przemysłowych FANUC
A3 Silnik indukcyjny pierscieniowy program
instrukcja programu wsjt222
Program 7
13 programowalny kontroler przerwan 8259

więcej podobnych podstron