SPIS TREŚCI...1 PODZIĘKOWANIA...11
|
|
- Maksymilian Barański
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 Część 2.: JavaServer Pages...15 Część 3.: Technologie pomocnicze...16 ZASTOSOWANE KONWENCJE...16 Podstawowa metoda...16 O WITRYNIE ROZDZIAŁ 1. PODSTAWOWE INFORMACJE O SERWLETACH I JAVA SERVER PAGES SERWLETY ZALETY SERWLETÓW W PORÓWNANIU Z TRADYCYJNYMI PROGRAMAMI CGI...19 Efektywność...19 Wygoda...20 Duże możliwości...20 Przenośność...20 Bezpieczeństwo...20 Niewielkie koszty JAVA SERVER PAGES ZALETY JSP...22 W porównaniu z Active Server Pages (ASP)...22 W porównaniu z PHP...22 W porównaniu z serwletami...22 W porównaniu z Server-Side Includes (SSI)...22 W porównaniu z językiem JavaScript...23 W porównaniu ze statycznym kodem HTML INSTALACJA I KONFIGURACJA...23 Zdobywanie oprogramowania do obsługi serwletów i dokumentów JSP...23 Zapamiętaj adres lub zainstaluj dokumentację Java Servlet oraz JSP API...25 Wskaż klasy używane przez kompilator Javy...25 Unix (C Shell)...26 Windows...26
2 Umieść klasy w pakietach...26 Skonfiguruj serwer...26 Numer portu...27 Zmienna środowiskowa JAVA_HOME...27 Ustawienia pamięci systemu DOS...27 Ustawienie CR/LF w serwerze Tomcat Uruchomienie serwera...28 Kompilacja i instalacja własnych serwletów...28 Tomcat...28 Tomcat JSWDK...29 Java Web Server ROZDZIAŁ 2. PIERWSZE SERWLETY PODSTAWOWA STRUKTURA SERWLETÓW PROSTY SERWLET GENERUJĄCY ZWYCZAJNY TEKST...31 Kompilacja i instalacja serwletów...32 Wywoływanie serwletów SERWLETY GENERUJĄCE KOD HTML UMIESZCZANIE SERWLETÓW W PAKIETACH...35 Tworzenie serwletów należących do konkretnego pakietu...36 Kompilacja serwletów należących do pakietów...36 Wywoływanie serwletów należących do pakietów PROSTE NARZĘDZIA POMOCNE PRZY TWORZENIU DOKUMENTÓW HTML CYKL ŻYCIOWY SERWLETÓW...40 Metoda init...40 Metoda service...41 Metody doget, dopost oraz doxxx...42 Interfejs SingleThreadModel...43 Metoda destroy PRZYKŁAD UŻYCIA PARAMETRÓW INICJALIZACYJNYCH PRZYKŁAD WYKORZYSTANIA INICJALIZACJI SERWLETU I DATY MODYFIKACJI STRONY TESTOWANIE SERWLETÓW WEBCLIENT: INTERAKTYWNA WYMIANA INFORMACJI Z SERWEREM WebClient...52 HttpClient...55 NetworkClient...56 SocketUtil...57 CloseableFrame...57 LabeledTextField...58 Interruptible...59 ROZDZIAŁ 3. OBSŁUGA ŻĄDAŃ: DANE PRZESYŁANE Z FORMULARZY ZNACZENIE INFORMACJI PRZESYŁANYCH Z FORMULARZY ODCZYTYWANIE DANYCH FORMULARZY W SERWLETACH PRZYKŁAD: ODCZYT TRZECH KONKRETNYCH PARAMETRÓW PRZYKŁAD: ODCZYT WSZYSTKICH PARAMETRÓW SERWIS REJESTRACJI ŻYCIORYSÓW FILTROWANIE ŁAŃCUCHÓW W POSZUKIWANIU ZNAKÓW SPECJALNYCH HTML...76 Implementacja filtrowania
3 3 Spis Treści Przykład...77 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...98 ROZDZIAŁ 6. GENERACJA 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 WYSZUKIWAWCZE ROZDZIAŁ 7. GENERACJA 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 Accept-Ranges Age Allow Cache-Control Connection Content-Encoding Content-Language Content-Length Content-Location Content-MD Content-Range Content-Type Date ETag Expires Last-Modified Location Pragma Refresh Retry-After Server Set-Cookie Trailer Transfer-Encoding Upgrade Vary Via Warning WWW-Authenticate TRWAŁE PRZECHOWYWANIE STANU SERWLETU I AUTOMATYCZNE ODŚWIEŻANIE STRON...123
4 7.4 STOSOWANIE TRWAŁYCH POŁĄCZEŃ HTTP WYKORZYSTANIE SERVLETÓW DO GENERACJI OBRAZÓW GIF ROZDZIAŁ 8. OBSŁUGA COOKIES KORZYŚCI STOSOWANIA COOKIES Identyfikacja użytkowników podczas trwania sesji na witrynach komercyjnych 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 servletach Tworzenie cookies Atrybuty cookies Umieszczanie cookies w nagłówkach odpowiedzi Odczytywanie cookies nadesłanych przez przeglądarkę PRZYKŁADY GENERACJI I ODCZYTYWANA COOKIES PROSTE NARZĘDZIA DO OBSŁUGI COOKIES Odnajdywanie cookie o określonej nazwie Tworzenie cookies o długim czasie istnienia INTERFEJS WYSZUKIWAWCZY 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ą Zakańczanie sesji Kodowanie adresów URL przesyłanych do przeglądarki SERVLET 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 towarów 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 Specjalna składnia skryptletów DEKLARACJE JSP
5 5 Spis Treści Specjalna składnia zapisu deklaracji PREDEFINIOWANE ZMIENNE ROZDZIAŁ 11. DYREKTYWA PAGE: STRUKTURALIZACJA GENEROWANYCH SERWLETÓW ATRYBUT IMPORT Katalogi służące do przechowywania własnych klas Przykład ATRYBUT CONTENTTYPE Generacja zwyczajnych dokumentów tekstowych Generacja 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 KORZYSTAJĄCYCH Z JAVA PLUG-IN Znacznik akcji jsp:plugin Znaczniki akcji jsp:param oraz jsp:params Znacznik akcji jsp:fallback Przykład: Generacja 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...238
6 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 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Ń Użycie 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 BĄDŹ DYNAMICZNYCH PRZYKŁAD: PREZENTACJA NIEPRZETWORZONYCH WYNIKÓW ZWRACANYCH PRZEZ SERWLETY LUB STRONY JSP PRZEKAZYWANIE ŻĄDAŃ ZE STRON JSP ROZDZIAŁ 16. FORMULARZE HTML JAK PRZESYŁANE SĄ DANE Z FORMULARZY HTML ELEMENT FORM TEKSTOWE ELEMENTY KONTROLNE Pola tekstowe VALUE Pola hasła Wielowierszowe pola tekstowe PRZYCISKI Przycisk SUBMIT
7 7 Spis Treści 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 POLA UKRYTE GRUPOWANIE ELEMENTÓW KONTROLNYCH OKREŚLANIE KOLEJNOŚCI PORUSZANIA SIĘ POMIĘDZY ELEMENTAMI FORMULARZY TESTOWY SERWER EchoServer ThreadedEchoServer NetworkServer ROZDZIAŁ 17. UŻYCIE 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 WYSZUKIWAWCZYCH PRZESYŁANIE DANYCH METODĄ GET I BEZPOŚREDNIE PRZETWARZANIE WYNIKÓW (TUNELOWANIE HTTP) Odczyt danych binarnych lub danych ASCII Odczyt serializowanych struktur danych Po stronie klienta Po stronie serwera PRZEGLĄDARKA ZAPYTAŃ WYKORZYSTUJĄCA SERIALIZACJĘ OBIEKTÓW I TUNELOWANIE PRZESYŁANIE DANYCH METODĄ POST I BEZPOŚREDNIE PRZETWARZANIE 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 Stworzenie 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Ń...373
8 18.8 ZARZĄDZANIE PULAMI POŁĄCZEŃ: STUDIUM ZAGADNIENIA WSPÓŁUŻYTKOWANIE PUL POŁĄCZEŃ Współużytkowanie pul połączeń przy wykorzystaniu kontekstu serwletu Współużytkowanie pul połączeń przy wykorzystaniu klas singleton DODATEK A. KRÓTKI PRZEWODNIK PO SERWLETACH I JSP A.1 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 Standardowe katalogi serwera JSWDK Standardowe katalogi serwera Java Web Server A.2 PIERWSZE SERWLETY Prosty serwlet Instalacja serwletów Uruchamianie serwletów Cykl życiowy serwletów A.3 OBSŁUGA ŻĄDAŃ: DANE PRZESYŁANE Z FORMULARZY Odczyt parametrów Przykład serwletu Przykład formularza Filtrowanie znaków specjalnych HTML A.4 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 A.5 DOSTĘP DO STANDARDOWYCH ZMIENNYCH CGI Możliwości, które nie zostały opisane gdzie indziej Odpowiedniki zmiennych CGI dostępne w serwletach A.6 GENERACJA 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 A.7 GENERACJA ODPOWIEDZI: NAGŁÓWKI ODPOWIEDZI PROTOKOŁU HTTP Generacja dowolnych nagłówków Generacja najczęściej używanych nagłówków Najczęściej używane nagłówki odpowiedzi protokołu HTTP Generacja obrazów GIF przez serwlety A.8 OBSŁUGA COOKIES Typowe zastosowania cookies Problemy napotykane przy stosowaniu cookies Ogólny sposób użycia cookies Metod do obsługi cookies A.9 ŚLEDZENIE SESJI Pobieranie informacji o sesji getvalue
9 9 Spis Treści Kojarzenie informacji z sesją putvalue Metody interfejsu HttpSession Kodowanie adresów URL A.10 ELEMENTY SKRYPTOWE JSP Typy elementów skryptowych Tekst szablonu Predefiniowane zmienne A.11 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 Atrybut errorpage Atrybut iserrorpage Atrybut language Zapis XML-owy A.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 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 A.13 WYKORZYSTANIE KOMPONENTÓW JAVABEANS W DOKUMENTACH JSP Podstawowe wymagania jakie należy spełnić by klasa była komponentem 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 A.14 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 A.15 INTEGRACJA SERWLETÓW I DOKUMENTÓW JSP Opis ogólny Składnia służąca do przekazania żądania Przekazywanie żądań do zwyczajnych dokumentów HTML Tworzenie globalnie dostępnych komponentów JavaBeans Tworzenie komponentów JavaBeans dostępnych w sesji...406
10 Interpretacja względnych adresów URL na stronie docelowej Alternatywne sposoby pobierania obiektu RequestDispatcher (wyłącznie Java Servlet 2.2)..406 Dołączenie danych statycznych lub dynamicznych Przekazywanie żądań ze stron JSP A.16 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 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 Internet Explorerze A.17 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 przetwarzanie wyników (tunelowanie HTTP) Przesyłanie serializowanych danych: Kod apletu Przesyłanie serializowanych danych: Kod serwletu Przesyłanie danych metodą POST i bezpośrednie przetwarzanie wyników (tunelowanie HTTP) Pomijanie serwera HTTP A.18 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ń
11 Podziękowania Wiele osób pomagało mi podczas tworzenia tej książki. Bez ich wsparcia wciąż pisałbym jej trzeci rozdział. John Guthrie, Ammy Karlson, Rich Slywczak oraz Kim Topley dostarczyli mi cennych technicznych informacji, z których korzystałem niemal we wszystkich rozdziałach. Innymi osobami, które wskazywały popełnione błędy oraz udzielały cennych sugestii są: Don Aldridge, Camille Bell, Ben Benokraitis, Carl Burnham, Adrew Burton, Rick Cannon, Kevin Cropper, Chip Downs, Frank Erickson, Payam Fard, Daniel Goldman, Rob Gordon, Andy Gravatt, Jeff Hall, Russell Holley, David Hopkins, Lis Immer, Herman Ip, Troung Le, Frank Lewis, Tanner Lovelace, Margaret Lyell, Paul McNamee, Mike Oliver, Barb Ridenour, Himanso Sahni, Bob Samson, Ron Tosh, Tsung-Wen Tsai, Peggy Sue Vickers oraz Maureen Knox Yencha. Mam nadzieję, że dobrze wykorzystałem ich rady. Mary Lou Eagle Eye 1 Nohr odszukała błędnie umieszczone przecinki, dziwne wyrażenia, błędy typograficzne oraz niespójności gramatycznie. Jej praca sprawiła, że książka ta stała się znacznie lepsza. Jonnne Anzalone stworzyła końcową wersję niniejszej książki. Joanne wykonała wspaniałą pracę, niezależnie od zmian wprowadzanych przeze mnie w ostatniej chwili. Ralph Semmel dostarczył pomocnego środowiska pracy i elastycznego harmonogramu, oraz interesujących projektów serwletów i stron JSP. Greg Doench z wydawnictwa Prentice Hall od samego początku wierzył w tę książkę i zachęcał mnie do jej napisania. Rachel Borden przekonała do niej także wydawnictwo Sun Microsystems Press. Dziękuje im wszystkim. Przede wszystkim chciałbym podziękować B.J., Lindsay oraz Nathanowi za cierpliwość dla mojego śmiesznego terminarza oraz ciągłego wykorzystania komputera gdy chcieli na nim popracować lub pograć. Bóg pobłogosławił mnie, dając mi wspaniałą rodzinę. O autorze Marty Hall jest starszym specjalistą komputerowym w Research and Technology Development Center w Laboratorium Fizyki Stosowanej na Uniwersytecie Johna Hopkinsa. Specjalizuje się w wykorzystaniu języka Java oraz technologiach związanych w WWW. Marty uczy także języka Java oraz programowania aplikacji WWW na Uniwersytecie Johna Hopkinsa w ramach programu kursów dokształcających, gdzie zajmuje się zagadnieniami przetwarzania rozproszonego oraz technologii internetowych. Jeśli tylko ma okazję, prowadzi także krótkie kursy poświęcone serwletom, JSP oraz innym technologiom związanym z językiem Java. Marty jest także autorem książki Core Web Programming, wydanej przez Wydawnictwo Prentice Hall w 1998 roku. Można się z nim skontaktować pisząc na następujący adres: Reseach and Technology Development Center The Johns Hopkins University Applied Phisics Laboratory Johns Hopkins Road Laurel, MD hall@coreservlets.com 1 Eagle Eye Orle oko
12 Wprowadzenie Na początku 1996 roku zacząłem używać języka Java w większości moich projektów programistycznych. Napisałem kilka programów CGI i w niewielkim stopniu zajmowałem się także wczesnymi wersjami serwletów, jednak w przeważającej mierze tworzyłem aplikacje działające po stronie klienta. Jednak w ciągu ostatnich kilku lat coraz większy nacisk kładziono na programy działające po stronie serwera i z tego względu poważniej zająłem się serwletami oraz technologią JavaServer Pages. Zeszłego roku zainteresowanie tymi technologiami programistów, firm programistycznych oraz twórców specyfikacji platformy języka Java, wzrosło w ogromnym stopniu. Wzrost zainteresowania tymi technologiami jest tak duży, iż w szybkim tempie stają się one standardowym narzędziem do tworzenia dynamicznych aplikacji WWW oraz internetowych programów umożliwiających korzystania z baz danych i aplikacji działających na serwerze. Niestety, bardzo trudno było jednak znaleźć dobre, praktyczne informacje dotyczące tworzenia serwletów oraz JSP. Znalazłem trochę książek poświęconych serwletom, jednak tylko kilka z nich zawierało informacje o najnowszych wersjach specyfikacji, zaawansowanych technikach i odzwierciedlało doświadczenia nabyte podczas realizacji realnie wykorzystywanych projektów. Spośród tych kilku książek, jeśli któraś z nich w ogóle opisywała zagadnienia związane z JSP, to dotyczyły one specyfikacji JSP 1.0, nigdy JSP 1.1. Jednak w wielu sytuacjach JSP znacznie lepiej nadaje się do rozwiązania problemu niż serwlety; a zatem, cóż była by warta książka o servletach, która nie opisywałaby także JSP? W ciągu kilku ostatnich miesięcy na rynku pojawiło się nieco więcej dobrych książek poświęconych JSP. Jednak znaczna większość z nich w ogóle nie omawia serwletów. Ale czy to ma sens? Przecież integralną częścią technologii JavaServer Pages jest wykorzystanie elementów skryptowych do stworzenia kodu serwletu. A zatem, bez dogłębnej znajomości zasad działania i tworzenia serwletów, nie można efektywnie wykorzystywać JSP. Poza tym, większość działających na Internecie witryn nigdy nie wykorzystuje tylko jednej z tych technologii, lecz obie jednocześnie. I w końcu ostatnia sprawa. Podczas prowadzanie kursów w ramach dokształcających na Uniwersytecie Johna Hopkinsa zauważyłem, że bardzo niewielu spośród moich słuchaczy (których większość stanowili profesjonalni programiści) znała zagadnienia związane z protokołem HTTP 1.1, działaniem formularzy HTML oraz obsługą JDBC czyli trzema kluczowymi technologiami pomocniczymi. Zmuszanie tych osób od kupowania książek poświęconych każdemu z tych zagadnień było bezsensowne, gdyż w tym przypadku ilość książek, którą programista musiałby kupić i przeczytać w celu tworzenia poważnych aplikacji wykorzystujących serwlety i JSP, wzrosłaby do pięciu. A zatem, w połowie 1999 roku, stworzyłem krótki kurs tworzenia serwletów oraz stron JSP poparty kilkunastoma przykładami, opublikowałem go na WWW i spróbowałem przedstawić ten sam materiał na kilku spośród prowadzonych przeze mnie kursach. Reakcja była oszałamiająca. Już po kilku miesiącach opublikowany przez mnie kurs odwiedzało kilkaset osób dziennie, nie wspominając w ogóle o setkach próśb o poszerzenie zamieszczonych informacji. W końcu pogodziłem się z nieuchronnym losem i zacząłem pisać. Niniejsza książka jest efektem mej pracy. Mam nadzieję, że okaże się przydatna.
13 13 Wprowadzenie Prawdziwy kod dla prawdziwych programistów Ta książka przeznaczona jest dla poważnych programistów. Ta książka nie wychwala potencjału internetowego handlu ani sposobów w jaki internetowe aplikacje mogą zrewolucjonizować Twoją firmę. Zamiast tego jest to praktyczna książka przeznaczona dla programistów, którzy już doskonale rozumieją konieczność tworzenia dynamicznych witryn WWW, a jej zadaniem jest pokazanie jak należy to robić w poprawny sposób. Prezentując sposoby tworzenia dynamicznych witryn WWW starałem się zilustrować najważniejsze używane techniki i ostrzec Cię przed najczęściej napotykanymi problemami. Jednocześnie wykorzystałem bardzo dużo praktycznych przykładów, na przykład ponad sto klas Javy. Starałem się podać szczegółowe przykłady dla wszystkich najważniejszych i najczęściej wykorzystywanych możliwości, zamieścić podsumowania opisujące możliwości rzadziej wykorzystywane i wskazać (dostępne na WWW) źródła informacji o narzędziach programistycznych (API) umożliwiających zaimplementowanie możliwości najrzadziej stosowanych. Nie jest to także książka, która pobieżnie, na wysokim poziomie, omawia wiele różnych technologii. Choć nie roszczę sobie pretensji, aby książka ta była ostatecznym źródłem informacji na wszystkie omawiane tematy (istnieje przykładowo kilka, podobnej wielkości, książek poświęconych wyłącznie JDBC), to jednak, jeśli już opisuję w niej jakieś zagadnienie, to robię to na tyle szczegółowo byś mógł rozpocząć tworzenie programów nadających się do praktycznego zastosowania. Jedynym wyjątkiem od tej reguły jest sam język Java. Oczekuję bowiem, że będziesz znał podstawy jego wykorzystania. Jeśli nie znasz Javy, to będziesz musiał sięgnąć po jakąś dobrą książkę, która nauczy Cię zasad programowania w tym języku, taką jak Java 1.1 wydaną przez Wydawnictwo Helion. Muszę Cię jednak ostrzec. Nikt nie staje się wspaniałym programistą czytając książki. Prócz lektury konieczne jest także pisanie programów. Im więcej ich stworzysz tym lepiej. W każdym rozdziale radzę, abyś zaczął od napisania krótkiego programu lub zmodyfikowania jednego z przykładów podanych wcześniej, a następnie spróbował własnych sił tworząc bardziej skomplikowany projekt. Pomiń fragmenty książki omawiające zagadnienia, których na razie nie planujesz używać i wróć do nich później, gdy będziesz gotów je wypróbować. Jeśli będziesz postępował w ten sposób, szybko powinieneś wyrobić sobie umiejętność rozwiązywania praktycznych problemów, które były głównym powodem sięgnięcia po tę książkę. Powinieneś być w stanie określić gdzie należy użyć serwletów, gdzie lepszym rozwiązaniem będzie zastosowanie JSP, lub kiedy należy użyć kombinacji obu tych technologii. Powinieneś nie tylko być w stanie generować dokumenty HTML, lecz rozumieć jak można przekazywać informacje innych typów, na przykład obrazy GIF lub arkusze kalkulacyjne programu Excel. Powinieneś także, na tyle dobrze rozumieć protokół HTTP 1.1, aby móc wykorzystywać jego możliwości do zwiększenia efektywności działania tworzonych stron. Nie powinieneś także obawiać się tworzenia aplikacji WWW czy to w formie formularzy HTML czy też apletów stanowiących interfejs pozwalający użytkownikom na korzystanie z korporacyjnych baz danych. Powinieneś także być w stanie implementować skomplikowane zachowania w formie komponentów JavaBeans lub bibliotek własnych znaczników JSP i zdecydować kiedy należy użyć tych komponentów bezpośrednio, a kiedy rozpoczynać przetwarzanie żądań za pośrednictwem serwletów, które następnie wygenerują stronę prezentującą wyniki. Czytając tę książkę powinieneś także mieć sporo zabawy. A potem zasłużysz na podwyżkę. W jaki sposób zorganizowana jest ta książka Książka została podzielona na trzy części: Serwlety, Java Server Pages oraz Technologie pomocnicze.
14 Część 1.: Serwlety Część 1. obejmuje tworzenie serwletów według specyfikacji 2.1 oraz 2.2. Choć specyfikacja 2.2 (oraz specyfikacja JSP 1.1) jest elementem Java 2 Platform, Enterprise Edition, to jednak wiele komercyjnych produktów korzysta jeszcze z wcześniejszych specyfikacji. A zatem ważne jest, aby rozumieć różnice występujące pomiędzy nimi. Poza tym, choć kod serwletów może być przenoszony i wykorzystywany na wielu różnych serwerach i systemach operacyjnych, to jednak proces instalacji i konfiguracji serwerów nie jest standaryzowany. Z tego względu podałem szczegółowe informacje dotyczące Apache Tomcata, JavaServer Web Development Kit (JSWDK) firmy Sun oraz Java Web Servera. Poniżej podałem listę omawianych zagadnień dotyczących serwletów: kiedy i dlaczego należy stosować serwlety, zdobycie i instalacja potrzebnego oprogramowania, podstawowa struktura serwletów, proces kompilacji, instalacji oraz wywoływania serwletów, generacja kodu HTML z poziomu serwletu, cykl życiowy serwletu, daty modyfikacji stron oraz pamięć podręczna przeglądarek, strategie testowania serwletów, obsługa żądań GET oraz POST przez jeden serwlet, internetowa usługa przesyłania życiorysów, odczytywanie nagłówków żądań HTTP w serwletach, przeznaczenie każdego z nagłówków żądań HTTP 1.1, redukcja czasu pobierania stron poprzez ich kompresję, ograniczanie dostępu za pomocą serwletów chronionych hasłem, odpowiedniki każdej ze standardowych zmiennych środowiskowych CGI, wykorzystanie kodów statusu HTTP, znaczenie każdej z wartości kodów statusu HTTP 1.1, interfejs użytkownika obsługujący przeszukiwanie WWW, określanie kodów odpowiedzi w serwletach, znaczenie każdego z nagłówków odpowiedzi HTTP 1.1, najczęściej używane typy MIME, serwlet wykorzystujący nagłówek Refresh w celu cyklicznego dostępu do długotrwałych obliczeń, serwlety wykorzystujące trwałe połączenia HTTP, generacja obrazów GIF z poziomu serwletów, przeznaczenie i problemy wiążące się z wykorzystaniem cookies, API do obsługi cookies, narzędzia ułatwiające obsługę cookies, konfigurowalny interfejs użytkownika do przeszukiwania WWW, zastosowanie śledzenia sesji, API do śledzenia sesji dostępne w serwletach, wykorzystanie sesji do stworzenia liczników odwiedzin dla poszczególnych użytkowników, internetowy sklep wykorzystujący śledzenie sesji, koszyki oraz dynamiczne generowanie stron na podstawie katalogu. 14
15 15 Wprowadzenie Część 2.: JavaServer Pages JSP stanowi bardzo wygodną alternatywę dla serwletów, w szczególności w przypadku generacji stron, których zawartość w znacznej części nie ulega zmianie. W drugiej części książki omówię technologię JavaServer Pages w wersji 1.0 oraz 1.1. Oto lista omawianych zagadnień dotyczących JSP: kiedy i dlaczego należy używać JavaServer Pages, w jaki sposób wywoływane są strony JSP, stosowanie rozszerzeń JSP, skryptletów oraz deklaracji, predefiniowane zmienne, których można używać w wyrażeniach i skryptletach, dyrektywa page, określanie importowanych klas, określanie typu MIME dla strony, generacja arkuszy kalkulacyjnych programu Excel, kontrola modelu wątkowego, wykorzystanie sesji, określanie wielkości i działania bufora wyjściowego, określanie stron służących do obsługi błędów JSP, składnia dyrektyw zgodna z XML, dołączanie plików JSP w czasie gdy strona główna jest przekształcana do postaci serwletu, dołączanie plików HTML lub plików tekstowych w momencie przesyłania żądania, dołączanie apletów wykorzystujących Java Plug-In, wykorzystanie JavaBeans w stronach JSP, tworzenie i dostęp do komponentów JavaBeans, jawne określanie właściwości komponentów, kojarzenie właściwości komponentów z parametrami wejściowymi, automatyczna konwersja typów właściwości komponentu, współużytkowanie komponentów przez wiele stron JSP i serwletów, tworzenie bibliotek znaczników JSP, klasy obsługi znaczników, pliki opisu biblioteki znaczników, dyrektywa taglib JSP, proste znaczniki, znaczniki posiadające atrybuty, znaczniki posiadające zawartość pomiędzy znacznikiem otwierającym i zamykającym, znaczniki modyfikujące swą zawartość, znaczniki pętli, znaczniki zagnieżdżone, integracja serwletów oraz JSP, przekazywanie żądań z serwletów do zasobów statycznych i dynamicznych, wykorzystanie serwletów do konfiguracji komponentów JavaBeans wykorzystywanych na stronach JSP, internetowe biuro podróży wykorzystujące serwlety oraz JSP, wykorzystanie wyników wykonania stron JSP w serwletach, przekazywanie żądań ze stron JSP.
16 Część 3.: Technologie pomocnicze W trzeciej części książki opisuję trzy zagadnienia bardzo często wykorzystywane wraz z serwletami oraz JSP formularze HTML, aplety komunikujące się z serwletami oraz JDBC. Poniżej przedstawiłem listę zagadnień omawianych w tej części książki: przesyłanie danych z formularzy, tekstowe elementy formularzy, przyciski, pola wyboru oraz przyciski opcji, listy rozwijane oraz listy, element sterujący umożliwiający przesyłanie plików na serwer, mapy odnośników obsługiwane po stronie serwera, pola ukryte, grupowanie elementów formularzy, kolejność elementów, serwer WWW służący do testowania formularzy, przesyłanie danych z apletu żądaniem GET i wyświetlanie ich w przeglądarce, wysyłanie danych żądaniem GET i przetwarzanie ich przez ten sam aplet (tunelowanie HTTP), wykorzystanie serializacji obiektów w celu przekazywania złożonych struktur danych pomiędzy apletami i serwletami, wysyłanie danych żądaniem typu POST i przetwarzanie ich przez ten sam aplet, aplety, które nie wykorzystują serwerów WWW. 16 Zastosowane konwencje W tekście niniejszej książki kody programów oraz generowane przez nie wyniki są przedstawiane czcionką o stałej szerokości. Na przykład, abstrakcyjnie omawiając programy działające po stronie serwera i wykorzystujące protokół HTTP, mogę używać takich wyrażeń jak serwlety HTTP lub, po prostu, serwlety. Gdy jednak piszę HTTPServlet, to mam na myśli konkretną klasę Javy. Informacje wprowadzane przez użytkownika w wierszu poleceń prezentowane są pogrubioną czcionką, natomiast generowane komunikaty mogą być bądź to ogólne (oznaczane jako Prompt>) bądź też wskazywać rodzaj używanego systemu operacyjnego (na przykład DOS>). Przykładowo, poniższy fragment tekstu oznacza, iż wykonanie polecenia java PewienProgram na dowolnej platformie systemowej spowoduje wygenerowanie wyników o postaci Odpowiednie wyniki : Prompt> java PewienProgram Odpowiednie wyniki Ważne, standardowe techniki są w tekście książki oznaczane w specjalny, przedstawiony poniżej, sposób: Podstawowa metoda Zwróć szczególną uwagę na fragmenty oznaczone jako Podstawowa metoda. Zawierają one informacje o technikach, które powinne być stosowane zawsze lub prawie zawsze. Notatki oraz ostrzeżenia są oznaczane w podobny sposób.
17 17 Wprowadzenie O witrynie WWW Istnieje specjalna witryna WWW poświęcona niniejszej książce, jej adres to Korzystanie z tej witryny jest bezpłatne, a można na niej znaleźć: kody źródłowe wszystkich przykładów podanych w niniejszej książce (można ich używać w nieograniczony sposób bez konieczności jakiejkolwiek rejestracji), internetową dokumentację API (w formacie Javadoc) wszystkich klas stworzonych w książce, aktualne adresy witryny umożliwiających pobranie oprogramowania, które można wykorzystać przy tworzeniu serwletów i stron JSP, informacje o zniżkach przy zakupie niniejszej książki, doniesienia dotyczące kursów tworzenia serwletów i stron JSP, informacje dotyczące nowych wydań i aktualizacji niniejszej książki.
18 Rozdział 1. Podstawowe informacje o serwletach i Java Server Pages Ten rozdział zawiera krótką prezentację serwletów oraz JavaServer Pages (JSP) i przedstawia zalety każdej z tych technologii. Podałem w nim także informacje o tym gdzie zdobyć i jak skonfigurować oprogramowanie konieczne do tworzenia serwletów oraz dokumentów JSP. 1.1 Serwlety Serwlety to odpowiedź technologii związanych z językiem Java na programy CGI (Common Gateway Interface). Serwlety są programami wykonywanymi na serwerze WWW. Stanowią one warstwę pośrednią pomiędzy żądaniami przesyłanymi przez przeglądarkę WWW lub inny program używający protokołu HTTP oraz bazami danych bądź aplikacjami wykonywanymi na serwerze HTTP. Ich zadaniem jest: 1) Odczytywanie wszelkich danych przesyłanych przez użytkownika. Dane te są zazwyczaj wprowadzane w formularzu umieszczonym na stronie WWW, jednak mogą także pochodzić z apletu Javy lub innego programu używającego protokołu HTTP. 2) Odszukanie wszelkich innych informacji dotyczących żądania, umieszczonych w żądaniu HTTP. Informacje te zawierają szczegółowe dane dotyczące możliwości przeglądarki, cookies, nazwy komputera na którym działa program, i tak dalej. 3) Generacja wyników. Ten proces może wymagać wymiany informacji z bazą danych, wykonania wywołania RMI lub CORBA, uruchomienia aplikacji bądź bezpośredniego obliczenia wyników. 4) Sformatowanie wyników wewnątrz dokumentu. W większości przypadków sformatowanie wyników polega na umieszczeniu ich wewnątrz dokumentu HTML. 5) Podanie odpowiednich parametrów odpowiedzi HTTP. Oznacza to przekazanie do przeglądarki informacji określających typ przesyłanego dokumentu (na przykład: HTML), podanie cookies, określenia parametrów zarządzających przechowywaniem strony w pamięci podręcznej przeglądarki, itp. 6) Wysłanie dokumentu z powrotem do użytkownika. Dokument może zostać przesłany w formacie tekstowym (HTML), binarnym (obrazy GIF), a nawet w postaci skompresowanej (na przykład gzip) modyfikującej dokument zapisany w innym formacie.
19 19 Rozdział 1. Podstawowe informacje o serwletach i Java Server Pages Wiele nadsyłanych żądań można obsłużyć przesyłając gotowe dokumenty. Żądania tego typu są obsługiwane przez serwer bez wykonywania serwletów. Jednak w wielu innych sytuacjach statyczne wyniki nie są wystarczające, a wynikowa strona musi zostać wygenerowana osobno dla każdego żądania. Istnieje wiele przyczyn, dla których strony WWW muszą być generowane dynamicznie. Oto niektóre z nich: Strona WWW generowana jest na podstawie informacji przesłanych przez użytkownika. Na przykład, strony generowane przez mechanizmy wyszukiwawcze oraz strony zawierające potwierdzenia zamówień składanych w sklepach internetowych budowane są na podstawie konkretnego żądania. Strona WWW jest tworzona na podstawie informacji, które często ulegają zmianie. Na przykład witryny zawierające prognozy pogody lub serwisy informacyjne mogą generować strony dynamicznie lub zwracać poprzednio stworzoną stronę jeśli jeszcze jest aktualna. Przy tworzeniu strony WWW wykorzystywane są informacje pochodzące z korporacyjnej bazy danych lub innych zasobów dostępnych na serwerze. Na przykład, witryna służąca do handlu internetowego może wykorzystywać serwlety w celu stworzenia strony prezentującej listę dostępnych artykułów wraz z informacjami o ich cenach i możliwości zakupu. W zasadzie wykorzystanie serwletów nie ogranicza się w cale do WWW lub serwerów aplikacji obsługujących żądania HTTP. Można ich także używać w serwerach wszelkich innych typów. Przykładowo, serwlety można umieścić w serwerze pocztowym lub serwerze FTP, rozszerzając w ten sposób ich możliwości funkcjonalne. Jednak w praktyce ten sposób wykorzystania serwletów nie zyskał popularności; dlatego też, w niniejszej książce, ograniczę się do omówienia serwletów HTTP. 1.2 Zalety serwletów w porównaniu z tradycyjnymi programami CGI Serwlety są bardziej efektywne, łatwiejsze w użyciu, bezpieczniejsze i tańsze od tradycyjnych programów CGI oraz technologii zbliżonych do CGI. Poza tym, mają większe możliwości oraz zapewniają lepszą przenaszalność. Efektywność W przypadku wykorzystania tradycyjnej technologii CGI, dla każdego żądania HTTP tworzony jest nowy proces. Jeśli sam program CGI jest stosunkowo krótki, to przeważającą część wykonania programu może stanowić uruchomienie procesu. W przypadku serwletów, wirtualna maszyna Javy działa bez przerwy i obsługuje wszystkie nadsyłane żądania wykorzystując do tego niewielkie wątki Javy, a nie procesy systemu operacyjnego, które wykorzystują wiele zasobów systemowych. Co więcej, w przypadku korzystania z tradycyjnych programów CGI, jeśli jednocześnie zostanie nadesłanych N żądań skierowanych do tego samego programu, jego kod zostanie N razy załadowany do pamięci. W przypadku serwletów, w takiej sytuacji zostanie utworzonych N wątków, lecz wykorzystywana będzie wyłącznie jedna kopia klasy serwletu. I ostatnia sprawa. Gdy program CGI skończy obsługiwać żądanie, zostanie on zakończony. Utrudnia to przechowywanie wyników obliczeń w pamięci podręcznej, utrzymywanie otwartych połączeń z bazami danych oraz wykonywanie wszelkich innych optymalizacji bazujących na trwałych informacjach. Serwlety natomiast pozostają w pamięci nawet po zakończeniu obsługi żądania,
20 dzięki czemu przechowanie dowolnie złożonych danych pomiędzy poszczególnymi żądaniami staje się bardzo proste. Wygoda Serwlety dysponują rozbudowanymi narzędziami służącymi do automatycznego przetwarzania i dekodowania danych przesyłanych z formularzy HTML, odczytywania i określania nagłówków HTTP, obsługi cookies, śledzenia sesji oraz wieloma innymi narzędziami wysokiego poziomu. Poza tym znasz już język programowania Java, po co zatem miałbyś się uczyć Perla? Nie trzeba Cię także przekonywać, że dzięki użyciu języka Java oraz jego technologii można tworzyć bezpieczniejszy kod zapewniający większe możliwości wielokrotnego użycia, w porównaniu z analogicznym kodem napisanym w języku C++. Po co zatem miałbyś wracać do tworzenia programów działających na serwerze pisanych w C++? Duże możliwości Serwlety udostępniają kilka możliwości, których implementacja w tradycyjnych programach CGI jest wyjątkowo trudna, lub wręcz niemożliwa. Serwlety mogą bezpośrednio wymieniać informacje z serwerami WWW. Programy CGI nie dysponują taką możliwością, a przynajmniej nie bez wykorzystania specjalnego API (interfejsu programistycznego) serwera. Przykładowo, możliwość bezpośredniej komunikacji z serwerem ułatwia translację względnych adresów URL na ścieżki dostępu do konkretnych plików. Kilka serwletów może także korzystać ze wspólnych danych, co znacznie ułatwia implementację wielokrotnego wykorzystywania połączeń z bazami danych oraz innych, podobnych rozwiązań optymalizujących wykorzystanie zasobów. Serwlety mogą także przechowywać informacje pomiędzy kolejnymi żądaniami, dzięki czemu ułatwiają wykorzystanie takich technik jak śledzenie sesji oraz przechowywanie wyników poprzednich obliczeń. Przenośność Serwlety są pisane w języku Java i wykorzystują standardowy interfejs programistyczny. W rezultacie, serwlety napisane z myślą o, dajmy na to, I-Planet Enterprise Serverze, mogą działać, w zasadzie, w niezmienionej postaci także na serwerze Apache, Microsoft Internet Information Serverze (IIS), IBM WebSphere, czy też serwerze WebStar firmy StarNine. Na przykład, niemal wszystkie przykładowe serwlety oraz dokumenty JSP przedstawione w niniejszej książce były wykonywane na Java Web Serverze firmy Sun, serwerze Tomcat opracowanym przez fundację Apache Software oraz na JavaServer Web Development Kit firmy Sun, i to bez wprowadzania jakichkolwiek zmian w kodzie. Wiele z przykładów zostało także przetestowanych na serwerach BEA WebLogic oraz IBM WebSphere. De facto, serwlety są obsługiwane bezpośrednio lub za pośrednictwem odpowiednich plug-inów przez niemal wszystkie najpopularniejsze serwery WWW. Aktualnie serwlety stanowią część Java 2 Platform, Enterprise Edition (J2EE; patrz dzięki czemu przemysłowe wsparcie serwletów stanie się jeszcze większe. Bezpieczeństwo Jedno z podstawowych zagrożeń istniejących w tradycyjnych programach CGI wynikało z faktu, iż programy te często były wykonywane przez powłoki systemowe ogólnego przeznaczenia. Z tego względu programiści tworzący programy CGI musieli zwracać szczególną uwagę na odnajdywanie i eliminację znaków traktowanych przez powłokę systemową w sposób specjalny, 20
Java Servlet i Java Server Pages
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
Bardziej szczegółowoTypy 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ółowoWstę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ółowoAplikacje 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ółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Bardziej szczegółowoDariusz 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ółowoCzym 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ółowo1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)
1 90 min. Aplikacje WWW Harmonogram ń, semestr zimowy -2017 (studia stacjonarne) 6 października Wprowadzenie do aplikacji WWW Rys historyczny Składniki architektury WWW o klient HTTP o serwer HTTP o protokół
Bardziej szczegółowoTworzenie 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ółowo1 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ółowoZakres 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ółowoAplikacje 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ółowoPLAN 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ółowoPakiet webmathematica jako narzędzie wspomagające proces dydaktyczny przedmiotu mechanika. Łukasz Maciejewski, Wojciech Myszka, Stanisław Piesiak
Pakiet webmathematica jako narzędzie wspomagające proces dydaktyczny przedmiotu mechanika Łukasz Maciejewski, Wojciech Myszka, Stanisław Piesiak Mathematica Pakiet obliczeniowy do rozwiązywania zagadnień
Bardziej szczegółowoProgramowanie 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ółowomgr 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ółowoXQTav - 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ółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoProgramowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne
Bardziej szczegółowoOpenLaszlo. OpenLaszlo
OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody
Bardziej szczegółowoSerwery 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ółowoInstalacja 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ółowoJarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne
Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS
Bardziej szczegółowoCzęść 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ółowoZaawansowane 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ółowoWorld 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ółowoProtokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.
Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania
Bardziej szczegółowoSpis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17
Adobe Flash i PHP : biblia / Matthew Keefe. Gliwice, cop. 2010 Spis treści O autorze 13 Przedmowa 15 Wprowadzenie 17 Część I: Zacznijmy od podstaw 19 Rozdział 1. Rozpoczynamy pracę z Flashem i PHP 21 Instalacja
Bardziej szczegółowoProgramowanie 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ółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych
Bardziej szczegółowoTechnologie internetowe
Protokół HTTP Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Spis treści Protokół HTTP Adresy zasobów Jak korzystać z telnet? Metody protokołu HTTP Kody odpowiedzi Pola nagłówka HTTP - 2 - Adresy
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoMAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z
WordPress : Omówienie I Instalacja Na początek, dlaczego byłbyś zainteresowany wykorzystaniem WordPressa razem z PhoneGap? Zapytałbym: "Dlaczego byś nie?" Moim zdaniem WordPress jest jednym z najłatwiejszych
Bardziej szczegółowoBiorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:
Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie
Bardziej szczegółowoBezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia
Bezpieczeństwo systemów komputerowych Java i JavaScript mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Java i JavaScript używane w celu dodania cech interaktywności do stron WWW mogą
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
Bardziej szczegółowoE-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ółowoActiveXperts SMS Messaging Server
ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych
Bardziej szczegółowoPolityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok
Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok Spółdzielnia Mieszkaniowa Słoneczny Stok szanuje prawo do prywatności Użytkowników serwisu sm-slonecznystok.pl. W szczególności dba o ochronę
Bardziej szczegółowoTworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Bardziej szczegółowoKARTA 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ółowoJeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Bardziej szczegółowoPierwszy projekt. Na początku warto wspomnieć, że program WebSite X5 dostępy jest w 3 wariantach: Start, Evolution oraz Professional
Projektowanie stron może być proste? Sprawdzamy. {reklama-artykul} Tworzenie stron internetowych to w teorii zagadnienie skomplikowane, często wymagające zaawansowanej wiedzy z dziedziny programowania.
Bardziej szczegółowoAplikacje 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ółowoSpis 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ółowoTemat: 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ółowoPrzykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe
Bardziej szczegółowoMateriał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ółowoJak 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ółowoTechnologia Flash cieszy się coraz większą popularnością. Liczba dostępnych
Flash i PHP 01 Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych narzędzi do tworzenia prostych oraz złożonych interaktywnych animacji wzrasta z dnia na dzień. Trzeba przyznać,
Bardziej szczegółowoInstrukcja 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ółowoUruchamianie bazy PostgreSQL
Uruchamianie bazy PostgreSQL PostgreSQL i PostGIS Ten przewodnik może zostać pobrany jako PostgreSQL_pl.odt lub PostgreSQL_pl.pdf Przejrzano 10.09.2016 W tym rozdziale zobaczymy, jak uruchomić PostgreSQL
Bardziej szczegółowoInstrukcja instalacji
Instrukcja instalacji Nintex USA LLC 2012. Wszelkie prawa zastrzeżone. Zastrzegamy sobie prawo do błędów i pominięć. support@nintex.com 1 www.nintex.com Spis treści 1. Instalowanie programu Nintex Workflow
Bardziej szczegółowoWprowadzenie 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ółowoSystem komputerowy. Sprzęt. System komputerowy. Oprogramowanie
System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.
Bardziej szczegółowoĆ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ółowoWINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.
WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy
Bardziej szczegółowoPracownia internetowa w szkole ZASTOSOWANIA
NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje
Bardziej szczegółowoUNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci
UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX
Bardziej szczegółowoWykł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ółowoDokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Bardziej szczegółowoWybrane 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ółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoZakres 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ółowoAplikacje internetowe - laboratorium
Aplikacje internetowe - laboratorium Administracja serwerem aplikacji. Celem ćwiczenia jest zainstalowanie i administracja prostym serwerem aplikacji. Ćwiczenie zostanie wykonane przy użyciu popularnego
Bardziej szczegółowoWykonać Ć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ółowoAplikacje internetowe - laboratorium
Aplikacje internetowe - laboratorium PHP Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej opartej o język PHP. Aplikacja ilustruje takie mechanizmy jak: obsługa formularzy oraz obsługa
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Bardziej szczegółowoA Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów
A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile
Bardziej szczegółowoProgramowanie 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ółowoKomunikacja 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ółowoSklep 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ółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE INTERNETOWE Internet Programming
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoPLAN 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ółowoSpecyfikacja 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ółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoIBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)
IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Kod autoryzacji.............
Bardziej szczegółowoSystem kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010
System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy
Bardziej szczegółowoZPKSoft 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ółowoKontrola 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ółowoJava 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ółowoDeduplikacja danych. Zarządzanie jakością danych podstawowych
Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication
Bardziej szczegółowoI. Informacje ogólne. Jednym z takich systemów jest Mambo.
MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację
Bardziej szczegółowoTomasz Greszata - Koszalin
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).
Bardziej szczegółowoZdalne monitorowanie i zarządzanie urządzeniami sieciowymi
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoSzczegół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ółowo5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów
Aplikacje internetowe KL. III Rok szkolny: 013/01 Nr programu: 31[01]/T,SP/MENIS/00.06.1 Okres kształcenia: łącznie ok. 170 godz. lekcyjne Moduł Bok wprowadzający 1. Zapoznanie z programem nauczania i
Bardziej szczegółowoDokumentacja 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ółowoOfficeObjects e-forms
OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji
Bardziej szczegółowo1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1
Spis treści Wstęp... xi Wymagania sprzętowe (Virtual PC)... xi Wymagania sprzętowe (fizyczne)... xii Wymagania programowe... xiii Instrukcje instalowania ćwiczeń... xiii Faza 1: Tworzenie maszyn wirtualnych...
Bardziej szczegółowoSIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja
SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska, marzec 2015 Wprowadzenie Ćwiczenie jest wykonywane
Bardziej szczegółowoIBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows
IBM SPSS Statistics - ssentials for Python: Instrukcje instalacji dla Windows Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for Python w systemach operacyjnych Windows.
Bardziej szczegółowoProgramowanie 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ółowo7. zainstalowane oprogramowanie. 8. 9. 10. zarządzane stacje robocze
Specyfikacja oprogramowania do Opis zarządzania przedmiotu i monitorowania zamówienia środowiska Załącznik nr informatycznego 1 do specyfikacji Lp. 1. a) 1. Oprogramowanie oprogramowania i do systemów
Bardziej szczegółowoPliki cookies. Podczas wizyty na tej stronie używane są następujące pliki Cookies:
Pliki cookies Co to są Cookies? Cookies to niewielkie pliki tekstowe umieszczane na Twoim komputerze przez witryny, które odwiedzasz. Są one szeroko stosowane w celu zapewnienia możliwości funkcjonowania
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 Globalna sieć Internet Koncepcja sieci globalnej Usługi w sieci Internet
Bardziej szczegółowoPliki cookies. Jaki rodzaj Cookies jest używany? Podczas wizyty na tej stronie używane są następujące pliki Cookies:
Pliki cookies Co to są Cookies? Cookies to niewielkie pliki tekstowe umieszczane na Twoim komputerze przez witryny, które odwiedzasz. Są one szeroko stosowane w celu zapewnienia możliwości funkcjonowania
Bardziej szczegółowo