Java Servlet i Java Server Pages

Wielkość: px
Rozpocząć pokaz od strony:

Download "Java Servlet i Java Server Pages"

Transkrypt

1 IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREŒCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE Java Servlet i Java Server Pages Autor: Marty Hall T³umaczenie: Piotr Rajca ISBN: Tytu³ orygina³u: Core Servlets and JavaServer Pages Format: B5, stron: 530 Niniejsza ksi¹ ka przeznaczona jest dla prawdziwych programistów. Jej celem nie jest przedstawienie potencja³u internetowego handlu ani sposobów, w jaki aplikacje internetowe mog¹ zrewolucjonizowaæ przedsiêbiorstwo. Jest to praktyczna ksi¹ ka przeznaczona dla programistów, którzy ju doskonale rozumiej¹, jak istotne jest tworzenie dynamicznych witryn WWW. Zadaniem niniejszej ksi¹ ki jest przedstawienie poprawnego sposobu prowadzenia takiej pracy. Prezentuj¹c metody tworzenia dynamicznych witryn WWW autor stara³ siê uwzglêdniæ najwa niejsze u ywane techniki i opisaæ najczêœciej napotykane problemy. Jednoczeœnie przedstawiono bardzo du o praktycznych zastosowañ (na przyk³ad ponad sto klas Javy). Podano szczegó³owe przyk³ady dla wszystkich najwa niejszych i najczêœciej wykorzystywanych mo liwoœci, a tak e zamieszczono podsumowania przedstawiaj¹ce równie rzadziej wykorzystywane zastosowania i wskazano dostêpne w Internecie Ÿród³a informacji dotycz¹ce interfejsów programistycznych (API) umo liwiaj¹cych wykorzystanie tych najrzadziej stosowanych mo liwoœci. Nie ma tu wielu pobie nych opisów licznych technologii. Nie by³o zamierzeniem autora, aby niniejsza ksi¹ ka sta³a siê ostatecznym Ÿród³em informacji na wszystkie omawiane w niej tematy. S¹ to zagadnienia bardzo obszerne. Przyk³adowo, istnieje kilka ksi¹ ek o porównywalnej objêtoœci poœwiêconych wy³¹cznie JDBC. Nale y podkreœliæ, e poszczególne zagadnienia zosta³y tutaj przedstawione na tyle szczegó³owo, aby Czytelnik móg³ samodzielnie rozpocz¹æ tworzenie programów nadaj¹cych siê do praktycznego zastosowania. Jedynym warunkiem jest znajomoœæ podstaw jêzyka Java: jego zastosowania i wykorzystywania. W razie braku tych umiejêtnoœci Czytelnik powinien zaznajomiæ siê z zasadami programowania w tym jêzyku. Wydawnictwo Helion ul. Chopina Gliwice tel. (32)

2 O Autorze...13 Wprowadzenie...15 Część I Serwlety 2.1 i r Rozdział 1. Podstawowe informacje o serwletach i Java Server Pages...25 Serwlety Zalety serwletów w porównaniu ze zwykłymi programami CGI...27 Efektywność Wygoda Duże możliwości Przenośność Bezpieczeństwo Niewielkie koszty Java Server Pages Zalety JSP W porównaniu z Active Server Pages (ASP) W porównaniu z PHP W porównaniu z serwletami W porównaniu z Server-Side Includes (SSI) W porównaniu z językiem JavaScript W porównaniu ze statycznym kodem HTML Instalacja i konfiguracja Zdobywanie oprogramowania do obsługi serwletów i dokumentów JSP...32 Zapamiętaj adres lub zainstaluj dokumentację Java Servlet oraz JSP API...34 Wskazanie klas używanych przez kompilator Javy...34 Umieszczanie klasy w pakietach Konfiguracja serwera Uruchomienie serwera Kompilacja i instalacja własnych serwletów Rozdział 2. Pierwsze serwlety...41 Podstawowa struktura serwletów Prosty serwlet generujący zwykły tekst Kompilacja i instalacja serwletów Wywoływanie serwletów Serwlety generujące kod HTML

3 4 Java Servlet i Java Server Pages Umieszczanie serwletów w pakietach Tworzenie serwletów należących do konkretnego pakietu...48 Kompilacja serwletów należących do pakietów Wywoływanie serwletów należących do pakietów...50 Proste narzędzia pomocne podczas tworzenia dokumentów HTML...51 Cykl istnienia serwletów Metoda init Metoda service Metody doget, dopost oraz doxxx Interfejs SingleThreadModel Metoda destroy Przykład zastosowania parametrów inicjalizacyjnych Przykład wykorzystania inicjalizacji serwletu i daty modyfikacji strony...62 Testowanie serwletów WebClient: interaktywna wymiana informacji z serwerem WebClient HttpClient NetworkClient SocketUtil CloseableFrame LabeledTextField Interruptible Rozdział 3. Obsługa żądań: dane przesyłane za pomocą formularzy...79 Znaczenie informacji przesyłanych za pomocą formularzy...79 Odczytywanie danych formularzy w serwletach Przykład: odczytanie trzech konkretnych parametrów Przykład: odczytanie wszystkich parametrów Serwis rejestracji życiorysów Filtrowanie łańcuchów w poszukiwaniu znaków specjalnych HTML...97 Implementacja filtrowania Przykład Rozdział 4. Obsługa żądań: nagłówki żądań HTTP Odczytywanie wartości nagłówków żądania w serwletach Wyświetlanie wszystkich nagłówków Nagłówki żądań protokołu HTTP Przesyłanie skompresowanych stron Ograniczanie dostępu do stron Rozdział 5. Dostęp do standardowych zmiennych CGI Odpowiedniki zmiennych CGI dostępne w serwletach Serwlet wyświetlający wartości zmiennych CGI Rozdział 6. Generowanie odpowiedzi: kody statusu Określanie kodów statusu Kody statusu protokołu HTTP 1.1 oraz ich przeznaczenie Interfejs użytkownika obsługujący różne serwisy wyszukujące Rozdział 7. Generowanie odpowiedzi: nagłówki odpowiedzi HTTP Określanie nagłówków odpowiedzi z poziomu serwletów Nagłówki odpowiedzi protokołu HTTP 1.1 oraz ich znaczenie Trwałe przechowywanie stanu serwletu i automatyczne odświeżanie stron Stosowanie trwałych połączeń HTTP Wykorzystanie serwletów do generowania obrazów GIF...168

4 Spis treści 5 Rozdział 8. Obsługa cookies Korzyści płynące ze stosowania cookies Identyfikacja użytkowników podczas trwania sesji na witrynach komercyjnych..177 Unikanie konieczności podawania nazwy użytkownika i hasła Dostosowywanie witryny Dobór reklam Niektóre problemy związane ze stosowaniem cookies Narzędzia obsługi cookies dostępne w serwletach Tworzenie cookies Atrybuty cookies Umieszczanie cookies w nagłówkach odpowiedzi Odczytywanie cookies nadesłanych przez przeglądarkę Przykłady generowania i odczytywania cookies Proste narzędzia do obsługi cookies Odnajdywanie cookie o określonej nazwie Tworzenie cookies o długim czasie istnienia Interfejs wyszukujący z możliwością zapamiętywania ustawień Rozdział 9. Śledzenie sesji Potrzeba śledzenia sesji Cookies Przepisywanie adresów URL Ukryte pola formularzy Śledzenie sesji w serwletach Narzędzia programistyczne do śledzenia sesji Pobieranie obiektu HttpSession skojarzonego z bieżącym żądaniem Pobieranie informacji skojarzonych z sesją Kojarzenie informacji z sesją Kończenie sesji Przepisywanie adresów URL przesyłanych do przeglądarki Serwlet generujący indywidualny licznik odwiedzin dla każdego użytkownika Internetowy sklep wykorzystujący koszyki i śledzenie sesji Tworzenie interfejsu użytkownika Obsługa zamówień To czego nie widać: implementacja koszyka i katalogu produktów Część II Java Server Pages...r Rozdział 10. Elementy skryptowe JSP Elementy skryptowe Tekst szablonu Wyrażenia JSP Predefiniowane zmienne Składnia XML stosowana w wyrażeniach Zastosowanie wyrażeń jako wartości atrybutów Przykład Skryptlety JSP Wykorzystanie skryptletów do warunkowego wykonania fragmentu strony JSP.230 Specjalna składnia skryptletów Deklaracje JSP Specjalna składnia zapisu deklaracji Predefiniowane zmienne

5 6 Java Servlet i Java Server Pages Rozdział 11. Dyrektywa page: strukturalizacja generowanych serwletów Atrybut import Katalogi służące do przechowywania własnych klas Przykład Atrybut contenttype Generowanie zwykłych dokumentów tekstowych Generowanie arkuszy kalkulacyjnych programu Microsoft Excel Atrybut isthreadsafe Atrybut session Atrybut buffer Atrybut autoflush Atrybut extends Atrybut info Atrybut errorpage Atrybut iserrorpage Atrybut language Składnia XML zapisu dyrektyw Rozdział 12. Dołączanie plików i apletów do dokumentów JSP Dołączanie plików w czasie przekształcania strony Dołączanie plików podczas obsługi żądań Dołączanie apletów związanych z Java Plug-In Znacznik akcji jsp:plugin Znaczniki akcji jsp:param oraz jsp:params Znacznik akcji jsp:fallback Przykład: Generowanie tekstu z cieniem Rozdział 13. Wykorzystanie komponentów JavaBeans w dokumentach JSP Podstawowe sposoby użycia komponentów Dostęp do właściwości komponentów Określanie właściwości komponentów prosty przypadek Instalacja klas komponentów Przykład: StringBean Określanie wartości właściwości komponentów Kojarzenie właściwości z parametrami wejściowymi Automatyczna konwersja typów Kojarzenie wszystkich właściwości z parametrami wejściowymi Wspólne wykorzystywanie komponentów Warunkowe tworzenie komponentów Rozdział 14. Tworzenie bibliotek znaczników Elementy tworzące bibliotekę znaczników Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP Definiowanie prostych znaczników Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP Przypisywanie atrybutów znacznikom Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP

6 Spis treści 7 Dołączanie zawartości znacznika Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP Opcjonalne dołączanie zawartości znacznika Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP Manipulowanie zawartością znacznika Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP Wielokrotne dołączanie lub obsługa zawartości znacznika Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP Stosowanie znaczników zagnieżdżonych Klasy obsługi znaczników Plik deskryptora biblioteki znaczników Plik JSP Rozdział 15. Integracja serwletów i dokumentów JSP Przekazywanie żądań Stosowanie zasobów statycznych Przekazywanie informacji do strony docelowej Interpretacja względnych adresów URL przez stronę docelową Inne sposoby pobierania obiektu RequestDispatcher Przykład: internetowe biuro podróży Dołączanie danych statycznych lub dynamicznych Przykład: prezentacja nieprzetworzonych wyników zwracanych przez serwlety lub strony JSP Przekazywanie żądań ze stron JSP Część III Technologie pomocnicze...r Rozdział 16. Formularze HTML Jak przesyłane są dane z formularzy HTML Element FORM Tekstowe elementy kontrolne Pola tekstowe Pola hasła Wielowierszowe pola tekstowe Przyciski Przycisk SUBMIT Przyciski RESET Przyciski JavaScript Pola wyboru i przyciski opcji Pola wyboru Przyciski opcji Listy i listy rozwijane Element kontrolny służący do przesyłania plików Mapy odnośników obsługiwane na serwerze IMAGE standardowe mapy odnośników obsługiwane po stronie serwera ISMAP alternatywny sposób tworzenia map odnośników obsługiwanych po stronie serwera

7 8 Java Servlet i Java Server Pages Rozdział 17. Pola ukryte Grupowanie elementów kontrolnych Określanie kolejności poruszania się pomiędzy elementami formularzy Testowy serwer EchoServer ThreadedEchoServer NetworkServer Zastosowanie apletów jako interfejsu użytkownika dla serwletów Przesyłanie danych metodą GET i wyświetlanie wynikowej strony Narzędzie korzystające z wielu serwisów wyszukujących Przesyłanie danych metodą GET i bezpośrednie przetwarzanie5 wyników (tunelowanie HTTP) Odczyt danych binarnych lub danych ASCII Odczyt serializowanych struktur danych Przeglądarka zapytań wykorzystująca serializację obiektów i tunelowanie Przesyłanie danych metodą POST i bezpośrednie przetwarzanie5 danych (tunelowanie HTTP) Aplet przesyłający dane metodą POST Pomijanie serwera HTTP Rozdział 18. JDBC oraz zarządzanie pulami połączeń Podstawowe etapy wykorzystania JDBC Załadowanie sterownika Określenie adresu URL połączenia Nawiązanie połączenia Utworzenie polecenia Wykonanie zapytania Przetworzenie wyników Zamknięcie połączenia Prosty przykład wykorzystania JDBC Narzędzia ułatwiające korzystanie z JDBC Wykorzystanie narzędzi ułatwiających obsługę JDBC Interaktywna przeglądarka zapytań Kod przeglądarki zapytań Przygotowane polecenia (prekompilowane zapytania) Zarządzanie pulami połączeń Zarządzanie pulami połączeń: studium zagadnienia Współużytkowanie pul połączeń Współużytkowanie pul połączeń z zastosowaniem kontekstu serwletu Współużytkowanie pul połączeń z zastosowaniem klas singleton Dodatki...r Dodatek A Krótki przewodnik po serwletach i JSP Prezentacja serwletów i JSP Zalety serwletów Zalety JSP Bezpłatnie dostępne oprogramowanie do obsługi serwletów i JSP Dokumentacja Kompilacja serwletów informacje podawane w zmiennej środowiskowej CLASSPATH Standardowe katalogi serwera Tomcat Standardowe katalogi serwera Tomcat

8 Spis treści 9 Standardowe katalogi serwera JSWDK Standardowe katalogi serwera Java Web Server Pierwsze serwlety Prosty serwlet Instalacja serwletów Uruchamianie serwletów Cykl istnienia serwletów Obsługa żądań dane przesyłane z formularzy Odczyt parametrów Przykład serwletu Przykład formularza Filtrowanie znaków specjalnych HTML Obsługa żądań nagłówki żądań HTTP Metody odczytujące nagłówki żądania Inne informacje o żądaniu Najczęściej używane nagłówki żądań protokołu HTTP Dostęp do standardowych zmiennych CGI Możliwości, które nie zostały opisane gdzie indziej Odpowiedniki zmiennych CGI dostępne w serwletach Generowanie odpowiedzi: Kody statusu HTTP Format odpowiedzi HTTP Metody określające kod statusu Kategorie kodów statusu Najczęściej wykorzystywane kody statusu protokołu HTTP Generowanie odpowiedzi nagłówki odpowiedzi protokołu HTTP Generowanie dowolnych nagłówków Generowanie najczęściej używanych nagłówków Najczęściej używane nagłówki odpowiedzi protokołu HTTP Generowanie obrazów GIF przez serwlety Obsługa cookies Typowe zastosowania cookies Problemy napotykane przy stosowaniu cookies Ogólny sposób użycia cookies Metody obsługi cookies Śledzenie sesji Pobieranie informacji o sesji getvalue Kojarzenie informacji z sesją putvalue Metody interfejsu HttpSession Kodowanie adresów URL Elementy skryptowe JSP Typy elementów skryptowych Tekst szablonu Predefiniowane zmienne Dyrektywa page określanie postaci generowanych serwletów Atrybut import Atrybut contenttype Przykład użycia atrybutu contenttype Przykład wykorzystania metody setcontenttype Atrybut isthreadsafe Atrybut session Atrybut buffer Atrybut autoflush Atrybut extends Atrybut info

9 10 Java Servlet i Java Server Pages Atrybut errorpage Atrybut iserrorpage Atrybut language Zapis zgodny z XML Dołączanie plików i apletów do dokumentów JSP Dołączanie plików w czasie przekształcania strony Dołączanie plików w czasie obsługi żądania Aplety obsługiwane przy użyciu Java Plug-In: Prosty przypadek Atrybuty znacznika jsp:plugin Parametry określane w kodzie HTML: jsp:param Tekst alternatywny Wykorzystanie komponentów JavaBeans w dokumentach JSP Podstawowe wymagania jakie należy spełnić, aby klasa mogła być uznana za komponent Podstawowe sposoby użycia komponentów Kojarzenie właściwości z parametrami przesłanymi w żądaniu Wspólne wykorzystywanie komponentów: atrybut scope znacznika akcji jsp:usebean Warunkowe tworzenie komponentów Tworzenie bibliotek znaczników Klasa obsługi znacznika Plik deskryptora biblioteki znaczników Plik JSP Przypisywanie atrybutów znacznikom Dołączanie zawartości znacznika Opcjonalne dołączanie zawartości znacznika Przetwarzanie zawartości znacznika Wielokrotne dołączanie lub przetwarzanie zawartości znacznika Stosowanie zagnieżdżonych znaczników Integracja serwletów i dokumentów JSP Opis ogólny Składnia służąca do przekazania żądania Przekazywanie żądań do zwykłych dokumentów HTML Tworzenie globalnie dostępnych komponentów JavaBeans Tworzenie komponentów JavaBeans dostępnych w sesji Interpretacja względnych adresów URL na stronie docelowej Alternatywne sposoby pobierania obiektu RequestDispatcher5 (wyłącznie Java Servlet 2.2) Dołączenie danych statycznych lub dynamicznych Przekazywanie żądań ze stron JSP Stosowanie formularzy HTML Element FORM Pola tekstowe Pola hasła Obszary tekstowe Przyciski SUBMIT Alternatywna postać przycisków SUBMIT Przyciski RESET Alternatywna postać przycisków RESET Przyciski JavaScript Alternatywna postać przycisków JavaScript Pola wyboru Przyciski opcji Listy rozwijane

10 Spis treści 11 Elementy kontrolne umożliwiające przesyłanie plików na serwer Mapy odnośników obsługiwane na serwerze Pola ukryte Możliwości dostępne w przeglądarce Internet Explorer Wykorzystanie apletów jako interfejsu użytkownika dla serwletów Przesyłanie danych metodą GET i wyświetlanie strony wynikowej Przesyłanie danych metodą GET i bezpośrednie przetwarzanie5 wyników (tunelowanie HTTP) Przesyłanie serializowanych danych kod apletu Przesyłanie serializowanych danych kod serwletu Przesyłanie danych metodą POST i bezpośrednie przetwarzanie5 wyników (tunelowanie HTTP) Pomijanie serwera HTTP JDBC i zarządzanie pulami połączeń z bazami danych Podstawowe etapy wykorzystania JDBC Narzędzia obsługi baz danych Przygotowane polecenia (prekompilowane zapytania) Etapy implementacji puli połączeń Skorowidz...515

11 Rozdział 9. W niniejszym rozdziale przedstawiono sposób, w jaki można wykorzystać mechanizmy śledzenia sesji dostępne w serwletach w celu przechowywania informacji o użytkownikach poruszających się po witrynie WWW. Potrzeba lledzenia sesji Cookies HTTP jest protokołem bezstanowym oznacza to, że za każdym razem, gdy przeglądarka pobiera stronę WWW, tworzone jest niezależne połączenie z serwerem. Serwer nie przechowuje automatycznie żadnych kontekstowych informacji skojarzonych z przeglądarką, która to połączenie nawiązała. Nawet w przypadku serwerów, które wykorzystują trwałe połączenia HTTP i za pomocą jednego połączenia obsługują wiele żądań zgłaszanych w niewielkich odstępach czasu, nie ma żadnych wbudowanych mechanizmów ułatwiających przechowywanie takich kontekstowych informacji. Brak takiego mechanizmu może powodować liczne problemy. Szczególnie widoczne są one w przypadku sklepów internetowych, gdzie istnieje oczywista potrzeba śledzenia sesji użytkownika. Znane są trzy podstawowe sposoby rozwiązywania problemów tego typu cookies, przepisywanie adresów URL oraz zastosowanie ukrytych mpól formularzy. Istnieje możliwość wykorzystywania cookies w celu przechowywania informacji o sesji w sklepie internetowym, a każde kolejne połączenie z tym sklepem może powodować odszukanie danej sesji i pobranie przechowywanych na serwerze informacji o niej. Na przykład, utworzony w tym celu serwlet mógłby przeprowadzać następujące czynności: #8621.#/798;36%2+2./ # ,/203#/72/;+78+,/ +78+,/8+,-+3, $+,-/+2#/77

12 194 Część I Serwlety 2.1 i ,-+3, #/7Г203#/7 33/-33/#/72/;33/###Г.#/7 7/773233/7/8 +8 6/74327/+..33/-33/#/7 Dzięki temu podczas obsługi kolejnych żądań, na podstawie wartości cookie ###, serwer może pobierać z tablicy 8+,-+3,+2+ tablicę asocjacyjną 203#/7 zawierającą informacje o konkretnej sesji. Jest to bardzo dobre rozwiązanie, które często jest wykorzystywane przy obsłudze sesji. Niemniej jednak wciąż istnieje potrzeba posiadania narzędzi programistycznych wyższego poziomu, które pozwoliłyby na implementację bardziej wyrafinowanych rozwiązań. Choć serwlety dysponują łatwymi w obsłudze narzędziami wysokiego poziomu przeznaczonymi do obsługi cookies (opisano je w rozdziale 8.), wciąż jednak istnieje stosunkowo dużo drobnych czynności, które należy przeprowadzić samodzielnie. Do czymnności tych można zaliczyć: J pobieranie cookie przechowującego identyfikator sesjmi (możliwe jest nadesłanie kilku cookies z jednej przeglądarki); J określenie odpowiedniego czasu wygaśnięcia ważności mcookie (sesje, które są nieaktywne przez ponad 24 godziny prawdopodobnie powimnny zostać zamknięte); J skojarzenie tablic asocjacyjnych z każdym żądaniem; J generowanie unikalnego identyfikatora sesji. Należy podkreślić, że ze względu na doskonale znane i oczywiste zagrożenia prywatności, jakie wiążą się z wykorzystywaniem cookies (patrz podrozdział rozdziału 8. Niektóre problemy związane ze stosowaniem cookies ), niektórzy użytkownicy wyłączają ich obsługę. Wynika z tego potrzeba posiadania, oprócz protokołu wysokiego poziomu, także alternatywnego rozwiązania tego problmemu. Przepisywanie adresów URL Rozwiązanie to polega na dopisywaniu na końcu adresu URL pewnych dodatkowych, identyfikujących sesję danych, które pozwalają serwerowi na skojarzenie przekazanego identyfikatora z przechowywanymi informacjami dotyczącymi danej sesji. Na przykład, w adresie URL dołączone informacje o sesji mają postać sessionid=1234. Rozwiązanie to jest bardzo funkcjonalne, a przy tym posiada tę dodatkową zaletę, że można z niego korzystać nawet w przypadku przeglądarek nie obsługujących cookies oraz wtedy, gdy użytkownik wyłączył obsługę cookies. Jednak także i to rozwiązanie zmusza program działający na serwerze do wykonywania wielu prostych, lecz uciążliwych czynności. Poza tym należy zwracać szczególną uwagę, aby każdy adres URL odwołujący się do danej witryny i przekazywany do przeglądarki użytkownika (nawet w sposób niejawny, przykładowo, za pomocą nagłówka ), został uzupełniony do dodatkowe informacje. Inną niedogodnością rozwiązania polegającego na przepisywaniu adresów URL jest fakt, że w po zakończeniu sesji i późniejszym nawiązania kolejnej sesji na danej witrynie za pomocą zapamiętanego adresu lub połączenia, wszystkie dotyczące jej informacje są tracone.

13 Rozdział 9. Śledzenie sesji 195 Ukryte pola formularzy W formularzach HTML można umieszczać pola o następującmej postaci: %$$ 7/7+&% Wykorzystanie takiego elementu oznacza, że podczas przesyłania formularza podana nazwa elementu oraz jego wartość są dołączane do pozostałych informacji przekazywanych na serwer. Więcej informacji na temat ukrytych pól formularzy znajduje się w podrozdziale rozdziału 16. Pola ukryte. W takich ukrytych polach formularzy można przechowywać informacje na temat sesji. Jednak wykorzystywanie tej metody ma jedną podstawową wadę każda strona witryny musi byćm generowana dynamicznie. kledzenie sesji w serwletach Serwlety udostępniają bardzo dobre rozwiązanie problemu śledzenia sesji interfejs 884#/7732. Możliwości funkcjonalne tego interfejsu bazują na wykorzystywaniu cookies lub przepisywania adresów URL. W rzeczywistości większość serwerów wykorzystuje cookies, pod warunkiem, że są one obsługiwane przez przeglądarkę użytkownika. Jeśli przeglądarka nie obsługuje cookies lub gdy ich obsługa została jawnie wyłączona, często automatycznie stosowane jest przepisywanie adresów URL. W ten sposób autorzy serwletów nie muszą jawnie obsługiwać cookies ani informacji dołączanych do adresów URL, a zyskują bardzo wygodny sposób przechowywania dowolnych obiektów skojarzonych z każdą sesją. Narzdzia programistyczne do lledzenia sesji Wykorzystanie śledzenia sesji w serwletach jest bardzo proste i wiąże się z pobieraniem obiektu sesji skojarzonego z obsługiwanym żądaniem, w razie konieczności z tworzeniem nowego obiektu sesji, pobieraniem informacji skojarzonych z sesją, zapisywaniem informacji w obiekcie sesji oraz z usuwaniem przerwanych lub zakończonych sesji. Dodatkowo, jeśli do użytkownika przekazywane są jakiekolwiek adresy URL odwołujące się do danej witryny i jeśli jest stosowane przepisywanie adresów URL, to do każdego adresu URL należy dołączać informacje mo sesji. Pobieranie obiektu HttpSession skojarzonego z biercym rdaniem Obiekt 884#/7732 można pobierać za pomocą metody 1/8#/7732 interfejsu 884 #/6:/8"/59/78. System pobiera identyfikator użytkownika z cookie lub z informacji dołączonych do adresu URL w niewidoczny sposób, a następnie używa go jako klucza przy pobieraniu odpowiedniego elementu z tablicy utworzonych wcześniej obiektów

14 196 Część I Serwlety 2.1 i #/7732. Wszystkie te czynności są wykonywane w sposób niezauważalny dla programisty, który jedynie wywołuje metodę 1/8#/7732. Jeśli wywołanie tej metody zwraca wartość 29, oznacza to, że z danym użytkownikiem jeszcze nie skojarzono żadnej sesji, a zatem można ją utworzyć. Sesje są tworzone bardzo często, zatem dostępna jest specjalna opcja pozwalająca na utworzenie nowej sesji, jeśli sesja dla danego użytkownika jeszcze nie istnieje. W tym celu wystarczy przekazać wartość 869/ w wywołaniu metody 1/8#/7732. A zatem, pierwszy krok przy rozpoczynaniu sesji zazwyczaj wygląda w następujący sposób: 884#/77327/7+6/59/781/8#/ / Sprawdzenie, czy dana sesja istniała już wcześniej, lub czy też została właśnie utworzona, jest możliwe za pomocą metody 7/;. Pobieranie informacji skojarzonych z sesj Obiekty 884#/7732 są przechowywane na serwerze. Są one automatycznie kojarzone z żądaniami podczas wykorzystywania niewidocznych mechanizmów, takich jak cookies lub przepisywanie adresów URL. Obiekty te posiadają wbudowaną strukturę danych, która umożliwia im przechowywanie dowolnej liczby kluczy oraz skojarzonych z nimi wartości. W specyfikacjach Java Servlet 2.1 oraz wcześniejszych do pobrania wartości uprzednio zapisanej w sesji stosuje się wywołanie 7/77321/8&+9/ 2+;+86,989. Metoda 1/8&+9/ zwraca obiekt typu,/-8, a zatem przywrócenie oryginalnego typu danej zapisanej w sesji jest możliwe poprzez zastosowanie odpowiedniego rzutowania typów. Metoda zwraca wartość 29, jeśli nie ma atrybutu o podanej nazwie. Oznacza to, że przed wywołaniem jakichkolwiek metod obiektu skojarzonego z sesją należy sprawdzić, czy nie jest mto wartość 29. W specyfikacji Java Servlet 2.2 metoda 1/8&+9/ została uznana za przestarzałą i zastąpiono ją metodą 1/8886,98/. Nazwa tej metody lepiej odpowiada metodzie 7/8886,98/ (w specyfikacji 2.1 metodzie 1/8&+9/ odpowiadała metoda 498&+9/, a nie 7/8&+9/). W przykładach przedstawionych w niniejszej książce zastosowano metodę 1/8&+9/, gdyż nie wszystkie dostępne na rynku komercyjne mechanizmy obsługi serwletów są zgodne ze specyfikacją 2.2. Poniżej podano przykład wykorzystania mechanizmu śledzenia sesji. Założono, że # jest klasą zdefiniowaną w celu przechowywania informacji o zamawianych produktach (implementację tej klasy zamieszczono w podrozdziale Internetowy sklep wykorzystujący koszyki i śledzenie sesji ). 884#/77327/7+6/59/781/8#/ / # # /7+1/8&+9/ ;7/72/+/7-/ /;# /7+498&+9/ Г37 63,3737/37 W większości przypadków nazwa atrybutu jest znana, a celem działania jest pobranie wartości skojarzonej z tą nazwą. Istnieje także możliwość pobrania nazw wszystkich atrybutów skojarzonych z daną sesją służy do tego metoda 1/8&+9/+/7 zwracająca

15 Rozdział 9. Śledzenie sesji 197 tablicę łańcuchów znaków. Ta metoda jest jedynym sposobem określenia nazw atrybutów w przypadku korzystania z mechanizmów obsługi serwletów zgodnych ze specyfikacją Java Servlet 2.1. W przypadku mechanizmów zgodnych ze specyfikacją 2.2 nazwy atrybutów można pobierać za pomocą metody 1/8886,98/+/7. Metoda ta działa w bardziej spójny sposób, gdyż zwraca obiekt 29/6+832, podobnie jak metody 1/8/+./6+/7 oraz 1/8 +6+/8/6+/7 interfejsu 884#/6:/8"/59/78. Najczęściej wykorzystywanymi danymi są dane bezpośrednio skojarzone z sesją, niemniej jednak dostępne są także inne, użyteczne informacje dotyczące sesji. Poniżej przedstawiono metody interfejsu 884#/7732: public Object getvalue(string nazwa) public Object getattribute(string nazwa) Metody te pobierają z obiektu sesji wartość, która umprzednio została w nim zapisana. Obydwie metody zwracają wartość 29, jeśli z podaną nazwą nie jest skojarzona żadna wartość. W mechanizmach obsługi serwmletów zgodnych ze specyfikacją Java Servlet 2.1 należy używać metody 1/8&+9/. W mechanizmach zgodnych ze specyfikacją 2.2 można używać obydwu metodm, jednak zalecane jest stosowanie metody 1/8886,98/, gdyż metoda 1/8&+9/ została uznana za przestarzałą. public void putvalue(string nazwa, Object wartolć) public void setattribute(string nazwa, Object wartoelć) Te metody kojarzą wartość atrybutu z jego nazwą. W mecmhanizmach obsługi serwletów zgodnych ze specyfikacją Java Servlet 2.1 należmy używać metody 498&+9/, natomiast w mechanizmach zgodnych ze specyfikacją m2.2 można stosować obydwie metody (rekomendowana jest metoda m7/8886,98/, gdyż metoda 498&+9/ została uznana za przestarzałą). Jeśli obiekt przekazamny w wywołaniu metody 498&+9/ lub 7/8886,98/ implementuje interfejs 884#/ /2/6, to po zapisaniu tego obiektu w sesji jest wywoływana jego metoda :+9/392.. Podobnie, jeśli obiekt implementuje interfejs 884#/ /2/6, po jego usunięciu z sesji jest wywoływana metoda :+9/%2,392. tego obiektu. public void removevalue(string nazwa) public void removeattribute(string nazwa) Obydwie te metody powodują usunięcie wartości skojarmzonych z podaną nazwą. Jeśli usuwana wartość implementuje interfejs 884#/ /2/6, wywoływana jest jej metoda :+9/%2,392.. W mechanizmach obsługi serwletów zgodnych ze specyfikacją Java Servlet 2.1 należy używać mmetody 6/3:/&+9/. W mechanizmach zgodnych ze specyfikacją 2.2 preferowanme jest użycie metody 6/3:/886,98/, choć w celu zapewnienia zgodności z poprzednimi wersjami oprogramowania można także używać metody 6/3:/&+9/ (uznawanej za przestarzałą).

16 198 Część I Serwlety 2.1 i 2.2 public String[] getvaluenames() public Enumeration getattributenames() Te metody zwracają nazwy wszystkich atrybutów w danemj sesji. W przypadku mechanizmów obsługi serwletów zgodnych ze specyfikacmją Java Servlet 2.1 należy używać metody 1/8&+9/+/7. W przypadku mechanizmów zgodnych ze specyfikacją 2.2 metoda ta jest wciąż dostępna, lecmz uznana za przestarzałą i z tego względu należy stosować metodę 1/8886,98/+/7. public String getid() Jest to metoda zwracająca unikalny identyfikator generowany dla każdej z sesji. Identyfikator ten jest czasami używany jako nazwa kmlucza. Dotyczy to sytuacji, gdy z sesją jest skojarzona tylko jedna wartość lub mgdy informacje o sesji są rejestrowane. public boolean isnew() Jest to metoda zwracająca wartość 869/, jeśli klient jeszcze nigdy nie korzystał z sesji (zazwyczaj dlatego, że sesja została właśnie mutworzona, a odbierane żądania jeszcze się do niej nie odwoływały). Jeśli danam sesja już istnieje od jakiegoś czasu, metoda ta zwraca wartość 0+7/. public long getcreationtime() Ta metoda zwraca czas utworzenia sesji wyrażony jakmo liczba milisekund, jakie upłynęły od początku 1970 roku (GMT). Aby przekształcić mtę wartość do powszechnie stosowanej formy, należy przekazać jmą do konstruktora klasy +8/ lub posłużyć się metodą 7/8$/27 klasy 6/136+2+/2.+6. public long getlastaccesstime() Metoda ta zwraca czas ostatniego przesłania sesji z pmrzeglądarki na serwer. Czas ten jest wyrażony jako liczba milisekund, jakime upłynęły od początku 1970 roku (GMT). public int getmaxinactiveinterval() public void setmaxinactiveinterval(int ilolćsekund) Pierwsza z tych metod pobiera, a druga określa czas m(wyrażony w sekundach), w którym klient musi nadesłać żądanie, aby sesja niem została automatycznie unieważniona. Jeśli w wywołaniu metody 7/8+2+-8:/28/6:+ jest podana wartość mniejsza od zera, dana sesja nigdy nie zostmanie automatycznie unieważniona. Należy pamiętać, iż limit czasu oczekimwania sesji jest przechowywany na serwerze i nie odpowiada dacie wygmaśnięcia ważności cookies, która jest przesyłana do przeglądarki. public void invalidate() Wywołanie tej metody powoduje unieważnienie sesji im usunięcie z niej wszystkich skojarzonych z nią obiektów.

17 Rozdział 9. Śledzenie sesji 199 Kojarzenie informacji z sesj Zgodnie z tym, co podano w poprzednim podrozdziale, informacje skojarzone z sesją można odczytywać za pomocą metody 1/8&+9/ (stosowanej w mechanizmach obsługi serwletów zgodnych ze specyfikacją Java Servlet 2.1) oraz 1/8886,98/ (stosowanej w mechanizmach obsługi serwletów zgodnych ze specyfikacją 2.2). Aby podać te informacje w przypadku korzystania z mechanizmów obsługi serwletów zgodnych ze specyfikacją 2.1, należy posłużyć się metodą 498&+9/, podając w jej wywołaniu klucz oraz wartość. W przypadku wykorzystywania mechanizmów zgodnych ze specyfikacją Java Servlet 2.2, należy zastosować metodę 7/8886,98/. Nazwa tej metody jest bardziej spójna z ogólnie stosowanym nazewnictwem, gdyż występują tu notacje 7/81/8 stosowane w komponentach JavaBeans. Aby wartości przechowywane w sesji mogły dawać jakieś efekty w chwili ich zapisywania w sesji, używane obiekty muszą implementować interfejs 884#/ /2/6. Dzięki temu za każdym razem, gdy za pomocą metody 498&+9/ lub 7/8886,98/ nastąpi skojarzenie jakiegoś obiektu z sesją, zostanie wywołana jego metomda :+9/392.. Trzeba pamiętać, że metody 498&+9/ oraz 7/8886,98/ zastępują wszelkie wartości skojarzone z podaną nazwą. Jeśli trzeba usunąć tę wartość bez podawania zamiennika, należy posłużyć się metodą 6/3:/&+9/ (w przypadku korzystania z mechanizmów obsługi serwletów zgodnych ze specyfikacją Java Servlet 2.1) lub 6/3:/886,98/ (w przypadku korzystania z mechanizmów obsługi serwletów zgodnych ze specyfikacją 2.2). Jeśli usuwane obiekty implementują interfejs 884#/ /2/6, wywołanie którejkolwiek z tych metod spowoduje wywołanie metody :+9/%2,392. usuwanego obiektu. Czasami zachodzi potrzeba jedynie zastąpienia istniejącej wartości atrybutu. W takim przypadku można zastosować metodę przedstawioną w drugim wierszu poniższego przykładu (określającego wartość atrybutu 6/0/ /). Jeżeli należy pobrać aktualną wartość atrybutu i zmodyfikować ją można posłużyć się przedstawionym w poniższym przykładzie sposobem (operacje wykonywane na atrybucie 46/:3978/). Założono, że w poniższym przykładzie wykorzystywane są dwie klasy klasa # dysponująca metodą +..8/, obiekty której służą do przechowywania informacji o wybranych produktach, oraz klasa udostępniająca statyczną metodę 1/88/ zwracającą produkt na podstawie podanego identyfikatora. Implementacje tych klas zamieszczono w podrozdziale Internetowy sklep wykorzystujący koszyki i śledzenie sesji. 884#/77327/7+6/59/781/8#/ / 7/7+498&+9/6/0/ /Г6/59/781/8/+./6"/0/6/6 # # /7+1/8&+9/46/:3978/ 03729;7/72/+/7-/+.2/ /;# /7+498&+9/46/:3978/Г37 # /59/781/8 +6+/8/68/ /+8+311/88/

18 200 Część I Serwlety 2.1 i 2.2 Koczenie sesji Sesja automatycznie staje się nieaktywna, jeśli odstęp pomiędzy kolejnymi żądaniami przekroczy czas określony przez metodę 1/8+2+-8:/28/6:+. W tym momencie automatycznie są usuwane wszelkie skojarzenia obiektów z tą sesją. To z kolei sprawia, że obiekty implementujące interfejs 884#/ /2/6 są zawiadomiane o fakcie usunięcia ich z sesji. Istnieje również sposób jawnego kończenia sesji służmy do tego metoda 2:+.+8/. Przepisywanie adresów URL przesyłanych do przegldarki Jeśli przy śledzeniu sesji wykorzystywana jest metoda przepisywania adresów URL i jeśli do przeglądarki przesyłane są adresy URL odwołujące się do danej witryny, konieczne jest jawne dodawanie do nich informacje o sesji. Wspomniano, że serwlety mogą automatycznie stosować metodę przepisywania adresów URL, jeśli przeglądarka nie obsługuje cookies. Dlatego też należy zawsze kodować wszystkie adresy URL odwołujące się do witryny. Adresy URL odwołujące się do tej samej witryny mogą być stosowane w dwóch przypadkach. Pierwszym z nich są strony WWW generowane przez serwlety. Adresy umieszczane na takich stronach powinny być odpowiednio zakodowane za pomocą metody /2-3./%" interfejsu 884#/6:/8"/74327/. Metoda ta automatycznie stwierdza, czy przepisywanie adresów jest aktualnie wykorzystywane i w razie konieczności dopisuje do adresu informacje o sesji. W przeciwnym razie metoda zwraca adresu URL w oryginalnej postaci. Oto przykład: # %"+7%");1/.29,/;1/.2 #8621+3;3;+2%"6/74327//2-3./%"3612+2%" "+3.3;+2%" Drugim przypadkiem, gdzie podaje się adresy URL odwołujące się do tej samej witryny, jest wywołanie metody 7/2."/.6/-8 (oznacza to, że adresy te są umieszczane w nagłówku odpowiedzi ). W tym przypadku obowiązują inne sposoby określania, czy do adresu należy dodać informacje o sesji czy nie, a zatem nie można posłużyć się metodą /2-3./%". Interfejs 884#/6:/8"/74327/ udostępnia metodę /2-3./ "/.6/-8%", którą można zastosować w takich sytuacjach. Oto przykład zastosowania tej metody: # %"+7%"74/ ;++2+9;+2/ ; /7;7%" # ;+2%"6/74327//2-3./"/.6/-8%" %" 6/74327/7/2."/.6/-8+3.3;+2%" Często się zdarza, że w chwili tworzenia serwletu nie można przewidzieć, czy w przyszłości stanie się on częścią grupy strony wykorzystujących śledzenie sesji. Warto zatem uwzględnić taką możliwość i zapewnić kodowanie w serwlecie wszystkich adresów URL odwołujących się do tej samej witryny.

19 Rozdział 9. Śledzenie sesji 201 Wskazane jest, aby wszystkie adresy URL odwołujce si do tej samej witryny przekształcać za pomoc metod 6/74327//2-3./%" lub 6/74327//2-3./"/.6/-8%", niezalernie od tego, czy serwlet wykorzystuje mechantizmy lledzenia sesji. Serwlet generujcy indywidualny licznik odwiedzin dla kardego urytkownika Listing 9.1 przedstawia prosty serwlet wyświetlający podstawowe informacje dotyczące sesji. Po nawiązaniu połączenia serwlet pobiera istniejącą sesję lub, jeśli sesji jeszcze nie ma, tworzy ją. Obydwie te czynności realizowane są za pomocą jednego wywołania 6/59/781/8#/ /. Następnie serwlet sprawdza, czy w sesji zapisano atrybut typu 28/1/6 o nazwie +--/ Jeśli atrybut ten nie jest odnaleziony, zakłada się, że liczba wcześniejszych odwiedzin danej strony wynosi. Jeśli atrybut +--/ zostanie odnaleziony, serwlet pobiera jego wartość. Wartość ta jest następnie inkrementowana i ponownie kojarzona z sesją poprzez wywołanie metody 498&+9/. Następnie serwlet generuje niewielką tabelę HTML zawierającą informacje o sesji. Rysunek 9.1 przedstawia stronę wygenerowaną przez serwlet podczas pierwszej wizyty użytkownika na witrynie, a rysunek 9.2 po jej kilkukrotnym odświeżeniu. Listing 9.1. ShowSession.java 4+-+1/-36/7/6:/ : :+7/6:/ :+7/6:/ :+2/ : o+././2+7/7+6./ ++;+273;+246o+.//784// ; # :+ 49,--+77#3;#/7732/8/2.7884#/6:/8 49,-:3..3/8884#/6:/8"/59/786/59/78Г 884#/6:/8"/74327/6/74327/ 863;7#/6:/8-/4832Г-/4832 6/74327/7/8328/28$4/8/88-+67/8# 628'68/63986/74327/1/8'68/6 #862188/ 6o+././2+7/7 884#/77327/77326/59/781/8#/ / #8621/+.21 '/-+2+-3,7o917/6;/8;13.2-/74/-0+- +:+#/6:/8++78/83.1/8&+9/2+/78373;+

20 202 Część I Serwlety 2.1 i 2.2 /83.1/8886,98/ 28/1/6+--/ /1/67/77321/8&+9/+--/ / / /;28/1/6 /+.21'8+Г23;/2-/ /7/ /+.21'8+4323;2/ +--/ /;28/1/6+--/ &+9/ '/-+2+-3,7o917/6;/8;13.2-/74/-0+- +:+#/6:/8++78/83.498&+9/2+/78373;+ /83.7/8886,98/ 7/ &+9/+--/773928Г+--/ #/6:/8%88/7/+.'8$8/88/ "2 $"/ /3$;3/7/72 $""$"2 $""2 $$4$'+6832 $"2 $2 $7/77321/8.2 $"2 $+798;36/2+2 $ 2/;+8/7/77321/86/+832$/2 $"2 $ / $ 2/;+8/7/77321/8+78--/77/.$/2 $"2 $33.;/.22 $+--/ $2 $.+2+$ #$+,3,7o91;+2//.2+3;3 49,-: #/6:/8"/59/786/59/78Г 884#/6:/8"/74327/6/74327/ 863;7#/6:/8-/4832Г-/4832.3/86/59/78Г6/74327/

21 Rozdział 9. Śledzenie sesji 203 Rysunek 9.1. Strona wygenerowana po pierwszym wykonaniu serwletu ShowSession Rysunek 9.2. Strona wygenerowana po jedenastym wykonaniu serwletu ShowSession Internetowy sklep wykorzystujcy koszyki i lledzenie sesji W tym podrozdziale przedstawiono rozbudowany przykład opisujący sposób tworzenia internetowego sklepu wykorzystującego mechanizmy śledzenia sesji. W pierwszej części podrozdziału przedstawiono sposób tworzenia stron wyświetlających informacje o sprzedawanych produktach. Kod każdej ze stron prezentujących sprzedawane produkty zawiera wyłącznie tytuł strony oraz identyfimkatory produktów, jakie mają się na niej pojawić. Sam kod HTML każdej z tych stron jest generowany automatycznie przez metody klasy bazowej na podstawie opisów produktów przechowywanych w katalogu. W drugiej części podrozdziału opisano stronę obsługującą zamawianie produktów. Strona ta kojarzy każdego z użytkowników z koszykiem i pozwala użytkownikowi na zmodyfikowanie liczby każdego z zamówionych produktów. W celu prawidłowego kojarzenia użytkowników z koszykami strona ta wykorzystuje mechanizmy

22 204 Część I Serwlety 2.1 i 2.2 śledzenia sesji. W trzeciej części niniejszego podrozdziału przedstawiono implementację koszyka struktury danych reprezentującej poszczególne produkty oraz zamówienia oraz katalogu produktów. Tworzenie interfejsu urytkownika Listing 9.2 przedstawia abstrakcyjną klasę bazową używaną podczas tworzenia serwletów, które mają prezentować sprzedawane produkty. Serwlet ten pobiera identyfikatory produktów, odszukuje je w katalogu, a następnie pobiera z niego nazwy i ceny produktów i wyświetla je na stronie umożliwiającej zamawianie. Listingi 9.3 oraz 9.4 przedstawiają łatwy sposób tworzenia stron zawierających informacje o produktach za pomocą klasy bazowej z listingu 9.2. Wygląd stron zdefiniowanych na listingach 9.3 oraz 9.4 został przedstawiony na rysunkach 9.3 oraz 9.4. Listing 9.2. CatalogPage.java 4+-+1/-36/7/6:/ : :+7/6:/ :+7/6:/ : ,+3; // #/6;/8./.--/438/+7,+3;/97 36/;;/8+2//// o /6;/8378+2/;32+2 '8-/9;/83./288+/137/6;/892+/7 ;;3o+/83.7/88/736+7/8$8/+7,+3;/7 49,-+, //8/2.7884#/6:/8 46:+8/8/8/7 46:+8/#86218/7 46:+8/#862188/ ,-./ ;463.98; /; ;+.+-/7 3,/88/.38+,-8/7,/88/+;/ Г4/o / Г //78./ #/6;/8./.--/43+7/ /,97,;;3o;+8/83.+;-+ ;/83./28+27/6;/8378+2/;;3o /-8/.:3.7/88/7#86218/7 878/78/7 8/72/;8/8/7/ /7/218 8/ /88/8/7

23 Rozdział 9. Śledzenie sesji 205 6/+889o78632Г86/78;;/ /;23;/;2+1o;9 #/6;/8./.--/43+7/ /,97,;;3o;+8/83.+;-+ ;/83./28+27/6;/8378+2/;;3o /-8/.:3.7/8$8/#862188/ 8788/88/ /83.+;4/6;7/3/23-;;/8+889oГ /.++./ Г86+,46/.778+; /78632/Г;;/8+/ ;72+1o;9 Г-/2;2+; /o / 32/3479+./ ;;/8+2/ ;+- o3/2/+;/ /13.+2/ / 46/7o+2/7.37/6;/896./6 +1/,3,+-3.$1/2/63;+246/8/83.Г2+/ ;32+7/6;/ /9,$/ /3,7.;/ 8/+7./.-43+,786+-2/+7/ / ;,6+34-';/83.6.o3;9,/3.43;7/.2 ;46/1.+6-/ 49,-:3..3/8884#/6:/8"/59/786/59/78Г 884#/6:/8"/74327/6/74327/ 863;7#/6:/8-/4832Г-/4832 6/74327/7/8328/28$4/8/88-+67/8# 08/729 6/74327/7/ /74327/#)$)%Г ; 6/ '68/63986/74327/1/8'68/ #/6:/8%88/7/+.'8$8/88/ "2 $"88/ 8/8/ /7/ " 8/8/7 ';/ /3,o./Г/ o+./ Г86/132/+; / $"" /2+2./ /7 $ /7/ # %" 7/6:/8-36/7/6:/876./6 +1/.6/7%"3.;3o9-/7.38/7+/;86272+/ 46/78+o /83./2-3./%" 036%"6/74327//2-3./%"036%"

24 206 Część I Serwlety 2.1 i 2.2 "$036%"2 %$$ 8/ &%8/1/88/2 8/1/8#368/ /1/ /1/8321/ $"2 %$$ #%$ &% $"2 2" "2$.+2+ #$$+,3,7o91;+2/ ,-: #/6:/8"/59/786/59/78Г 884#/6:/8"/74327/6/74327/ 863;7#/6:/8-/4832Г-/4832.3/86/59/78Г6/74327/ Listing 9.3. KidsBooksPage.java 4+-+1/-36/7/6:/ /6;/ /;;/ '''93;+-+;/2/86/-2+2-7/67/.+./- +;/2+746/7o+2/.37/6;/896./6 +1/ 49, //8/ / 49,-:3.28 #8621.7/;7Г+/+2./6Г63;21 7/88/7.7 7/8$8/'-2+/47/ /-7 Listing 9.4. TechBooksPage.java 4+-+1/-36/7/6:/ /6;/ /;;/ '''93;+-+;/2/.; o-7/3498/63;- +;/2+746/7o+2/.37/6;/896./6 +1/ 49,--+77$/ //8/ / 49,-:3.28 # Г+ 7/88/7.7

25 Rozdział 9. Śledzenie sesji 207 7/8$8/'-2+/47/73498/63;/ Rysunek 9.3. Wyniki wykonania serwletu KidsBooksPage Obsługa zamówie Listing 9.5 przedstawia kod serwletu służącego do obsługi zamówień nadsyłanych przez różne strony katalogowe (przedstawione w poprzedniej części podrozdziału). Serwlet ten kojarzy każdego użytkownika z koszykiem wykorzystując przy tym mechanizmy śledzenia sesji. Ponieważ każdy użytkownik dysponuje osobnym koszykiem, jest mało prawdopodobne, że wiele wątków będzie jednocześnie próbowało uzyskać dostęp do tego samego koszyka. Niemniej jednak można wyobrazić sobie sytuację, w których mógłby nastąpić jednoczesny dostęp do tego samego koszyka.

26 208 Część I Serwlety 2.1 i 2.2 Rysunek 9.4. Wyniki wykonania serwletu TechBooksPage Zatem w celu zapewnienia wysokiego poziomu bezpieczeństwa kod serwletu synchronizuje dostęp do koszyków na podstawie obiektu sesji. W ten sposób inne wątki korzystające z tej samej sesji nie będą mogły równocześnie uzyskiwać dostępu do przechowywanych w niej informacji, choć wciąż będzie możliwa równoczesna obsługa żądań nadsyłanych przez różnych użytkowników. Typowe wyniki wykonania tego serwletu zostały przedstawione na rysunkach 9.5 oraz 9m.6. Listing 9.5. OrderPage.java 4+-+1/-36/7/6:/ : :+7/6:/ :+7/6:/ : :+8/89,/636+8 ';/ / Г86/+89+2/ 2+.97;379# / ;3/;o+72/7/7/Г ;/86-36/+2//78462+/2337;/83 /784/6;7+; /93;+-/ 7o+.+2/+;/qГ/788;363223;37 %83;2-+;-+46/ / // Г86/32+++;+Г.+8/13

27 Rozdział 9. Śledzenie sesji 209 8/ /23;/// / ; /78/78632;;/ o , / ; ;/2/7 43+2/-,/1/4+6/.2/13++; ; 49, /6 +1//8/2.7884#/6:/8 49,-:3..3/8884#/6:/8"/59/786/59/78Г 884#/6:/8"/74327/6/74327/ 863;7#/6:/8-/4832Г-/ #/77327/77326/59/781/8#/ / # /.7/ # /77321/8&+9/ ;-983;2;8;3632/723;/37 %83;2-Г ;+8-Г86/378+o.+2-;-/2/98;3632/ /;# / &+9/ Г-+68 #86218/6/59/781/8 +6+/8/68/ 08/29 # /7#8621 6/59/781/8 +6+/8/6298/7 0298/7# /; o43.+2./ / 2/-,+Г Г/983;2876+0o /.2/ / //289-/ /8/ /7/ /; o ;23./ ,+Г Г/9837;2 86+0o ;/2/43+2/-,/1/4+6/7.2/13 ++; ;+/;6-9;+1Г743.+2/ ; ,/1/4+6++;+27/ ;Г/ / / /728/1/64+67/28298/7# ,/636+8-/483220/ 298/ /896./6/.8/Г298/ ;/2+2/+/2/3.8/13Г-983;2 /3.03;+o-2/ 6/74327/7/8328/28$4/8/88-+67/8# 628'68/63986/74327/1/8'68/6 #862188/#8+897+;/ #/6:/8%88/7/+.'8$8/88/

28 210 Część I Serwlety 2.1 i 2.2 "2 $"88/ /.7/7732 &/-8368/76./6/.-+681/88/76./6/. 08/76./6/.7/ ;;379 /7/ /;379/ //./ Г ;;/88+,/ $""$"2 $""2 $./ $472 $/2+/.23783;+$3$'+683 8/6./636./ ;-/7-4346/-29Г ;78+; ,22/;+98Г78. ; /,/-978+;/ ,/ /6 9,/636+81/8966/ / # %" 7/6:/8-36/7/6:/876./6 +1/.6/7%"3.;3o9-/ /7+/; /78+o /83./2-3./%" 036%"6/74327//2-3./%"036%" ++./ /7-32/13;3797 8;36;/678+,/+;/6+-./ Г347Г/13-/2/.23783;Г -,+;32-/1/4+636+o-2-/2 -,++;+2-/1/4+6;;/8+ ;4398/783;Г8++,983;21o7/ ;3Г3,343+Г;;/ ;/2/Г8643;3.9/4323;2/7 46/7o+2/8/7+/ /6;/6Г46-7 /2+2+/78-,+++;+2-/1/ / /76./6/.7/ 36./68/6./68/76./6/./// $"2 $36./61/88/2 $36./61/8#368/ $ / /61/8% $ "$036%"2 %$$ 8/2 &%36./61/88/2 %$$ $$298/72 #&% 36./61/898/72 #2 %$$ #%$2 &%89+9+;/2/2

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

SPIS TREŚCI...1 PODZIĘKOWANIA...11

SPIS TREŚCI...1 PODZIĘKOWANIA...11 Spis Treści SPIS TREŚCI...1 PODZIĘKOWANIA...11 O AUTORZE...11 WPROWADZENIE...12 PRAWDZIWY KOD DLA PRAWDZIWYCH PROGRAMISTÓW...13 W JAKI SPOSÓB ZORGANIZOWANA JEST TA KSIĄŻKA...13 Część 1.: Serwlety...14

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008 Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF

Bardziej szczegółowo

mgr inż. Michał Paluch

mgr inż. Michał Paluch Komunikacja w Internecie Użytkownik klika w odpowiednie łącze. Przeglądarka formatuje żądanie i wysyła Serwer odnajduje zasób, formatuje odpowiedź i przesyła do przeglądarki. Protokół HTTP Zadania klienta

Bardziej szczegółowo

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje Internetowe, Servlety, JSP i JDBC Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Plan. Stan sesji (1/2) Stan sesji (2/2) Stan sesji Tworzenie przycisku Integracja prostego formularza z raportem Tworzenie formularza z raportem

Plan. Stan sesji (1/2) Stan sesji (2/2) Stan sesji Tworzenie przycisku Integracja prostego formularza z raportem Tworzenie formularza z raportem 5 Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów Plan Stan sesji Tworzenie przycisku Integracja prostego formularza z raportem Tworzenie formularza z raportem 2 Stan sesji (1/2)

Bardziej szczegółowo

Zasady Wykorzystywania Plików Cookies

Zasady Wykorzystywania Plików Cookies Zasady Wykorzystywania Plików Cookies Definicje i objaśnienia używanych pojęć Ilekroć w niniejszym zbiorze Zasad wykorzystywania plików Cookies pojawia się któreś z poniższych określeń, należy rozumieć

Bardziej szczegółowo

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. Autor: Larry Ullman Poznaj zasady wirtualnego handlu i zarabiaj prawdziwe pieniądze Jak stworzyć doskonałą witrynę sklepu internetowego? Jak

Bardziej szczegółowo

Sklep internetowy wtspartner.pl dokłada wszelkich starań, aby prowadzony serwis ułatwiał każdemu użytkownikowi

Sklep internetowy wtspartner.pl dokłada wszelkich starań, aby prowadzony serwis ułatwiał każdemu użytkownikowi Stosowanie ciasteczek (cookies) Sklep internetowy wtspartner.pl dokłada wszelkich starań, aby prowadzony serwis ułatwiał każdemu użytkownikowi przeglądanie strony i składanie zamówień. Dlatego w trosce

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

pawel.rajba@gmail.com, http://kursy24.eu/

pawel.rajba@gmail.com, http://kursy24.eu/ pawel.rajba@gmail.com, http://kursy24.eu/ Servlets Charakterystyka Główne metody Obiekty request i response JSP Dyrektywy Elementy skryptowe Elementy akcji Generowanie treści Obiekty niejawne Obiekty request

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

Podręcznik Integracji

Podręcznik Integracji Podręcznik Integracji Spis treści 1. Integracja oferty... 3 1.1. Samodzielne wprowadzanie oferty sklepu... 3 1.2. Automatyczne wprowadzanie oferty z pliku XML... 3 1.3. Cyklicznie pobieranie oferty ze

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony

Bardziej szczegółowo

SmartCard Virtual Keyboard. SCVK - instrukcja użytkownika. Wersja 1.1 (2014-09-29)

SmartCard Virtual Keyboard. SCVK - instrukcja użytkownika. Wersja 1.1 (2014-09-29) Wersja 1.1 (2014-09-29) Politechnika Poznańska Pl. Marii Skłodowskiej-Curie 5 60-965 Poznań http://www.put.poznan.pl/ Dział Rozwoju Oprogramowania http://intranet.put.poznan.pl/department/at Dokumentacja

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Specyfikacja techniczna. mprofi Interfejs API

Specyfikacja techniczna. mprofi Interfejs API Warszawa 09.04.2015. Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 1 Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 WERSJA DATA STATUTS AUTOR 1.0.0 10.03.2015 UTWORZENIE DOKUMENTU

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości

Bardziej szczegółowo

POLITYKA PRYWATNOŚCI SERWIS:

POLITYKA PRYWATNOŚCI SERWIS: POLITYKA PRYWATNOŚCI - SERWIS: WWW.HIPOTEKA-GOTOWKA.PL Polityka Prywatności jest zbiorem reguł, które mają na celu poinformowanie Użytkowników tego Serwisu o wszelkich aspektach pozyskiwania, przetwarzania

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Instrukcja do programu Przypominacz 1.5

Instrukcja do programu Przypominacz 1.5 Instrukcja do programu Przypominacz 1.5 Program Przypominacz 1.5 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do prowadzenia tzw. miękkiej windykacji poprzez wysyłanie kontrahentom

Bardziej szczegółowo

Cemarol Sp. z o.o. Polityka prywatności (pliki cookies) 1. Informacje ogólne.

Cemarol Sp. z o.o. Polityka prywatności (pliki cookies) 1. Informacje ogólne. Polityka prywatności (pliki cookies) 1. Informacje ogólne. Cemarol Sp. z o.o. 1. Operatorem Serwisu www.powiat-lebork.com jest Cemarol sp. z o.o. z siedzibą w Kobylnicy (76-251), Kobylnica, ul. Główna

Bardziej szczegółowo

Instrukcja do programu DoUPS 1.0

Instrukcja do programu DoUPS 1.0 Instrukcja do programu DoUPS 1.0 Program DoUPS 1.0 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej UPS w połączeniu z bezpłatnym

Bardziej szczegółowo

P³atnik. Przewodnik IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE

P³atnik. Przewodnik IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE P³atnik. Przewodnik Autor: Adam Józefiok ISBN: 83-246-0404-9 Format: A5, stron: 288 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO KOSZYKA

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1] JAVA wprowadzenie do programowania (3/3) [1] Czym jest aplikacja Java Web Start? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE Budowa i oprogramowanie komputerowych systemów sterowania Laboratorium 4 Metody wymiany danych w systemach automatyki DDE 1 Wprowadzenie do DDE DDE (ang. Dynamic Data Exchange) - protokół wprowadzony w

Bardziej szczegółowo

Aplikacje WWW Wprowadzenie

Aplikacje WWW Wprowadzenie Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www Plan wykładu Składniki architektury WWW: klient HTTP, serwer

Bardziej szczegółowo

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Java w 21 dni / Rogers Cadenhead. Gliwice, cop. 2016 Spis treści O autorze 11 Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Dzień 1. Rozpoczynamy przygodę z Javą 21 Język Java 21 Programowanie obiektowe 24 Obiekty

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Języki programowania wysokiego poziomu. PHP cz.3. Formularze Języki programowania wysokiego poziomu PHP cz.3. Formularze Formularze Sposób przesyłania danych formularza do serwera zależy od wybranej metody HTTP: Metoda GET

Bardziej szczegółowo

Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite

Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite Tomasz Boiński: 1 Pozycjonowanie stron i zastosowanie mod_rewrite Pozycjonowanie stron Promocja strony odbywa się poprzez umiejscowienie jej jak najwyżej w wynikach wyszukiwania Wyszukiwarki indeksują

Bardziej szczegółowo

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG Opracowano w Departamencie Informatyki i Administracji Bankowego Funduszu Gwarancyjnego Październik 2013 Spis treści: 1. Dostęp do strony portalu...

Bardziej szczegółowo

Instrukcja do programu DoDHL 1.5

Instrukcja do programu DoDHL 1.5 Instrukcja do programu DoDHL 1.5 Program DoDHL 1.5 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej DHL w połączeniu z bezpłatnym

Bardziej szczegółowo

Polityka prywatności serwisu www.aran.com.pl

Polityka prywatności serwisu www.aran.com.pl Przedsiębiorstwo BudowlanoHandlowe Z.Niziński Polityka prywatności serwisu www.aran.com.pl 1. Informacje ogólne. Operatorem Serwisu [adres serwisu, np. www.blink.pl] jest [pełne dane rejestrowe] Serwis

Bardziej szczegółowo

Instrukcja do programu Przypominacz 1.6

Instrukcja do programu Przypominacz 1.6 Instrukcja do programu Przypominacz 1.6 Program Przypominacz 1.6 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do prowadzenia tzw. miękkiej windykacji poprzez wysyłanie kontrahentom

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

MySQL. Æwiczenia praktyczne

MySQL. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ

Bardziej szczegółowo

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji Wykład prowadzi Mikołaj Morzy CGI i serwlety Plan wykładu Metody konstrukcji logiki prezentacji Programy CGI Serwlety Java implementacja korzystanie z nagłówków obsługa zmiennych Cookies obsługa sesji

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty

Bardziej szczegółowo

Gatesms.eu Mobilne Rozwiązania dla biznesu

Gatesms.eu Mobilne Rozwiązania dla biznesu Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia

Bardziej szczegółowo

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.

Bardziej szczegółowo

Szczegółowy opis zamówienia:

Szczegółowy opis zamówienia: Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG

Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG Opracowano w Departamencie Informatyki Bankowego Funduszu Gwarancyjnego Październik 2016 Spis treści: 1. Dostęp do strony Portalu... 3 1.1. Adres

Bardziej szczegółowo

Zintegrowany system usług certyfikacyjnych. Dokumentacja użytkownika. Obsługa wniosków certyfikacyjnych i certyfikatów. Wersja dokumentacji 1.

Zintegrowany system usług certyfikacyjnych. Dokumentacja użytkownika. Obsługa wniosków certyfikacyjnych i certyfikatów. Wersja dokumentacji 1. Dokumentacja użytkownika Zintegrowany system usług certyfikacyjnych Obsługa wniosków certyfikacyjnych i certyfikatów Wersja dokumentacji 1.05 Unizeto Technologies SA - www.unizeto.pl Autorskie prawa majątkowe

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Programowanie aplikacji sieci Ethernet Przykład 1 Na podstawie: Monk S.: Arduino dla początkujących, HELION, Gliwice 2014 2 Arduino z nakładką

Bardziej szczegółowo

Reguły plików cookies witryny i usług internetowych tsop.pl

Reguły plików cookies witryny i usług internetowych tsop.pl Reguły plików cookies witryny i usług internetowych tsop.pl Data publikacji dokumentu: 1 czerwca 2014 Spis treści 1 Wstęp...2 2 Definicje...2 2.1 Administrator...2 2.2 Cookies...2 2.3 Cookies Administratora

Bardziej szczegółowo

POLITYKA COOKIES. Definicje. Rodzaje wykorzystywanych Cookies

POLITYKA COOKIES. Definicje. Rodzaje wykorzystywanych Cookies POLITYKA COOKIES Niniejsza Polityka Cookies określa zasady przechowywania i dostępu do informacji na urządzeniach Użytkownika za pomocą plików Cookies, służących realizacji usług świadczonych drogą elektroniczną

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07 PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 e-biznes Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 Michał Cieśla pok. 440a, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/ 1 Literatura B. Burke,

Bardziej szczegółowo

Polityka Cookies. 1 Definicje. Administrator oznacza przedsiębiorstwo

Polityka Cookies. 1 Definicje. Administrator oznacza przedsiębiorstwo Polityka Cookies 1. Niniejsza Polityka Cookies określa zasady przechowywania i dostępu do informacji na urządzeniach Użytkownika za pomocą plików Cookies, służących realizacji usług świadczonych drogą

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

Bardziej szczegółowo

Implementacja mechanizmu SkyCashClick Wersja 0.1

Implementacja mechanizmu SkyCashClick Wersja 0.1 Implementacja mechanizmu SkyCashClick Wersja 0.1 SkyCash 1/6 Spis treści: 1. Opis usługi... 3 2. Osadzenie przycisku SkyCashClick... 4 2.1. Parametry transakcji... 4 2.2. Weryfikacja znacznika parametrów

Bardziej szczegółowo

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12 Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12 Wersja 3.0 02-03-2017 Spis treści Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki w oparciu o przeglądarkę Microsoft Internet Explorer System stworzony został w oparciu o aktualne narzędzia i programy

Bardziej szczegółowo

Elektroniczna Skrzynka Podawcza

Elektroniczna Skrzynka Podawcza Elektroniczna Skrzynka Podawcza Instrukcja dla administratora Wersja 1.6.0 Przewodnik przeznaczony jest dla użytkowników, którzy administrują kontem urzędu w systemie Elektronicznej Skrzynki Podawczej.

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

Dokumentacja Użytkownika Systemu

Dokumentacja Użytkownika Systemu Dokumentacja Użytkownika Systemu Porównywarki cen Liquid Wersja 2016.2 Spis treści 1 WSTĘP... 3 2 OPIS OBSZARU... 4 2.1 TOWARY... 5 2.2 RELACJE... 5 2.3 EDYTUJ... 6 2.3.1 KONFIGURACJA... 6 2.3.2 KATEGORIE...

Bardziej szczegółowo

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST Specyfikacja API 1.0 API REST Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42

Bardziej szczegółowo

System generacji raportów

System generacji raportów Zalety systemu Czym jest ProReports? prostota instalacji, wieloplatformowość (AIX, Linux, Windows, Solaris), obsługa popularnych formatów (PDF, XLS, RTF, HTML,TXT,XML,CSV), obsługa wielu baz danych, raporty

Bardziej szczegółowo

Instrukcja obsługi Multiconverter 2.0

Instrukcja obsługi Multiconverter 2.0 Instrukcja obsługi Multiconverter 2.0 Opis: Niniejsza instrukcja opisuje wymogi użytkowania aplikacji oraz zawiera informacje na temat jej obsługi. DHL Multiconverter powstał w celu ułatwienia oraz usprawnienia

Bardziej szczegółowo

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

Bardziej szczegółowo

Wprowadzenie do biblioteki klas C++

Wprowadzenie do biblioteki klas C++ Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski

Bardziej szczegółowo

Podręcznik użytkownika

Podręcznik użytkownika Podręcznik użytkownika Sklep internetowy ROCKWOOL Spis treści Uruchomienie sklepu... 2 Okno główne... 2 Katalog produktów... 3 Wyszukiwanie produktów... 3 Opis szczegółowy produktu... 4 Dodanie produktu

Bardziej szczegółowo

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4 Instrukcja pobrania i instalacji certyfikatu Microsoft Code Signing wersja 1.4 Spis treści 1. WSTĘP... 4 2. TWORZENIE CERTYFIKATU... 4 3. WERYFIKACJA... 9 3.1. WERYFIKACJA DOKUMENTÓW... 9 3.1.1. W przypadku

Bardziej szczegółowo

Instrukcja postępowania w celu złożenia podpisu elektronicznego na dokumentach składanych do SISC za pośrednictwem portalu PUESC.

Instrukcja postępowania w celu złożenia podpisu elektronicznego na dokumentach składanych do SISC za pośrednictwem portalu PUESC. Instrukcja postępowania w celu złożenia podpisu elektronicznego na dokumentach składanych do SISC za pośrednictwem portalu PUESC. Wersja 1.4 z dnia 17.11.2015 r. ul. Świętokrzyska 12, 00-916 Warszawa tel.:

Bardziej szczegółowo

Modele danych walidacja widoki zorientowane na model

Modele danych walidacja widoki zorientowane na model Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

Jak ustawić cele kampanii?

Jak ustawić cele kampanii? Jak ustawić cele kampanii? Czym są cele? Jest to funkcjonalność pozwalająca w łatwy sposób śledzić konwersje wygenerowane na Twojej stronie www poprzez wiadomości email wysłane z systemu GetResponse. Mierzenie

Bardziej szczegółowo

Instrukcja użytkownika Porównywarki cen Liquid

Instrukcja użytkownika Porównywarki cen Liquid Instrukcja użytkownika Porównywarki cen Liquid Wersja Spis treści 1 Wstęp... 3 2 Opis obszaru... 4 Towary... 5 Relacje... 6 Edytuj... 7 2.3.1 Konfiguracja... 7 2.3.2 Kategorie... 7 2.3.3 Ustawienia...

Bardziej szczegółowo

Instrukcja instalacji PHP-Hypercachera Refresher Standard oraz PHP-Hypercachera Refresher GZIP na Twojej witrynie

Instrukcja instalacji PHP-Hypercachera Refresher Standard oraz PHP-Hypercachera Refresher GZIP na Twojej witrynie Instrukcja instalacji PHP-Hypercachera Refresher Standard oraz PHP-Hypercachera Refresher GZIP na Twojej witrynie 1. Instalacja w zwykłym skrypcie PHP Instalacja PHP Hypercachera Refresher Standard i PHP

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

S P I S T R E Ś C I. Instrukcja obsługi

S P I S T R E Ś C I. Instrukcja obsługi S P I S T R E Ś C I Instrukcja obsługi 1. Podstawowe informacje o programie.................................................................................... 2 2. Instalacja programu.....................................................................................................

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Instrukcja obsługi DHL KONWERTER 1.6

Instrukcja obsługi DHL KONWERTER 1.6 Instrukcja obsługi DHL KONWERTER 1.6 Opis: Niniejsza instrukcja opisuje wymogi użytkowania aplikacji oraz zawiera informacje na temat jej obsługi. DHL Konwerter powstał w celu ułatwienia oraz usprawnienia

Bardziej szczegółowo

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych KARTA PRZEDMIOTU Nazwa przedmiotu/modułu: Nazwa angielska: Kierunek studiów: Poziom studiów: Profil studiów Jednostka prowadząca: Programowanie aplikacji internetowych Web application development edukacja

Bardziej szczegółowo

Instrukcja do programu Do7ki 1.0

Instrukcja do programu Do7ki 1.0 Instrukcja do programu Do7ki 1.0 Program Do7ki 1.0 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej SIÓDEMKA w połączeniu

Bardziej szczegółowo