INTERNETOWE USŁUGI INFORMACYJNE Lokalny serwer WWW Win'2000,XP – składnik IIS (Internet Information Services) (PWS WIN98): - lokalne publikowanie własnych stron platforma projektowa dla witryn przed ich przekazaniem do dostawcy serwer FTP (przesył plików) SMTP (poczta elektroniczna) obsługa ASP, dostępu do baz danych, współpraca z FrontPage IIS - instalacja Dodaj programy/składniki Windows + Internetowe usługi informacyjne
Organizacja stron WWW Katalog macierzysty punkt początkowy dla gości witryny szczyt drzewa katalogów publikacji http://localhost - lokalnie http://127.0.0.1 - lokalnie http://nazwa_komputera - lokalna sieć http://adres_komputera - świat domyślny katalog macierzysty: C:\Inetpub\wwwroot Drzewo katalogów wirtualnych - tworzą strukturę logiczną - mają alias, nazwy wykorzystywane w przeglądarkach - fizycznie mogą być w różnych miejscach ( katalog, inny komputer – URL ) Narzędzia administratora: Menedżer usług internetowych przeglądanie katalogów wirtualnych oraz plików tworzenie nowych katalogów wirtualnych
Dodawanie katalogów wirtualnych - Menedżer Usł. Int. + Nowy katalog + Kreator alias + katalog + zezwolenia - Eksplorer Właściwości + Udostępnianie w sieci Web + Udostępnij folder Opcje działania 1) Udostępnianie / nie przeglądania zawartości danego katalogu 2) Typy dokumentów domyślnych, wybieranych Katalog + Właściwości + Dokumenty +Włącz i jakie 3) Eksplorer Właściwości + Udostępnianie w sieci Web + Udostępnij folder Dodawanie dokumentu np. FrontPage + zapis w katalogu pod nazwą domyślną: default.htm, index.htm, default. asp, iisstart.asp
DYNAMICZNE STRONY WWW - TECHNOLOGIA ASP Wprowadzenie do ASP (Active Server Pages) - technologia generowania dynamicznej zawartości strony WWW działa po stronie serwera rozwiązanie Microsoftu, dla jego serwerów WWW może działać pod innymi systemami operacyjnymi i z innymi serwerami mogą być skrypty wykonywane po stronie klienta normalny kod HTML w nim program (skrypt) między znacznikami <SCRIPT> - najczęściej język JavaScript S. Wolek Wst. do Inf.
przykład 1: przykład 2: <SCRIPT LANGUAGE = "JavaScript"> alert( "Okno ostrzeżenia" ); </SCRIPT> document.write( "Pierwszy skrypt <BR>"); document.write( "Data: " + Date() ); S. Wolek Wst. do Inf.
struktura dokumentu ASP - kod HTML (statyczny) program w języku skryptowym (wykonywany przez serwer) między znacznikami <% ... %> - j. skryptowe: VBScript (główny) PHP JScript (jak JavaScript) PerlScript S. Wolek Wst. do Inf.
przykład 3: <%@ language = "VBScript" %> <HTML> <BODY> <font size="5"> Mój przykład 1 </font> <p> </p> Aktualna godzina to: <% Response.Write Time() %> </BODY> </HTML> S. Wolek Wst. do Inf.
Podstawy języka programowania VBScript struktura skryptu - <% ... %> deklaracje, instrukcje: osobne wiersze kontynuacja wiersza: na końcu podkreślenie "_" komentarz: ' treść typy wartości (rozpoznawane jako VARIANT) - numeryczna całkowite: integer, long, byte numeryczna rzeczywiste: single, double tekstowe: string "..." logiczne: boolean false, true data: date #2003-04-13# (# wartość a nie wyrażenie) walutowa: currency tablicowa: array obiektowa: object empty - zmienna jest niezainicjalizowana, numerycznie zero, znakowo pusty napis null - zmienna nie zawiera żadnej wartości S. Wolek Wst. do Inf.
deklaracja Dim nazwy, ... (bez typu) domyślny typ: variant (zmienny) stałe Const PODATEK = 0.22 Response.Write "<BR> PODATEK = " & PODATEK zmienne deklaracja Dim nazwy, ... (bez typu) domyślny typ: variant (zmienny) nie jest konieczna, wygodnie wymusić przez: <% Option Explicit %> Dim iK iK = 100 Response.Write "<BR> Liczba = " & iK iK = "Kowalski" Response.Write "<BR> iK = " & iK tablice - deklaracja np.: Dim arrDays(6) indeksy 0 .. rozmiar przypisywanie wartości funkcja Array np: arrDays = Array( "pon", "wto", "sro", "czw", "ptk", "sob", "ndz" ) S. Wolek Wst. do Inf.
arytmetyczne: + - * / ^ \ (dziel. całk.) tekstowe: + lub & wyrażenia stałe, zmienne funkcje operatory nawiasy ( ) operatory przypisanie = arytmetyczne: + - * / ^ \ (dziel. całk.) tekstowe: + lub & relacji: = <> < > <= >= logiczne: not, and, or, xor, eqv imp false eqv false true (równość logiczna) imp - implikacja przykład 4: iK = 100 Response.Write "pierwistek( " & ik & " ) = " & sqr(iK) & "<BR>" S. Wolek Wst. do Inf.
obiekty typ opisany : właściwościami (różnych typów) metodami kojarzony ze zdarzeniami obiekty standardowe - Response przesyłanie danych od serwera do klienta Request pobieranie danych w serwerze od klienta S. Wolek Wst. do Inf.
Instrukcje języka VBScript warunkowa if Przykład: if warunek_1 then . . . [else] [elseIf warunek_2 then . . . ] end if if DatePart( "h", Time()) >= 19 _ then Response.Write( "<BR> Dobry wieczór")_ else Response.Write( "<BR> Dzień dobry") wyboru select case select case wyrażenie_selektor case wartość_1 instrukcje_1 . . . case wartość_2 instrukcje_2 [case else instrukcje_inne] end select S. Wolek Wst. do Inf.
przykład – tabela pierwiastków: iteracje for przykład – tabela pierwiastków: for zm_ster=w1 to w2 [step w3] . . . [ if ... exit for ] next For iK = 1 to 10 Response.Write iK & ": " & sqr(iK) & "<BR>" Next for each zm_ster in tablica . . . [ if ... exit for ] next For iK = 0 to 7 arrdays(ik) = 2*iK Next For each iK in arrdays Response.Write "<BR>"& iK & ": " & sqr(iK) S. Wolek Wst. do Inf.
iteracje warunkowe do while warunek . . . loop do until warunek . . . loop until warunek do . . . loop while warunek do . . . if ... exit do loop until warunek S. Wolek Wst. do Inf.
UWAGA poprawnie pętla nieskończona <% dim x x=1 do while x<100 response.write x&"<BR>" x=x+1 loop %> <% dim x x=1 do response.write x&"<BR>" x=x+1 loop while x>1 %>
podprogramy: procedury i funkcje Definicja Wykonanie sub nazwa( parametry ) . . . end sub nazwa( argumenty ) function nazwa( parametry ) . . . end function nazwa( argumenty ) call nazwa( argumenty ) S. Wolek Wst. do Inf.
Komunikacja do klienta obiekt Response - Response.Write( wyrażenie ) - Response.Write wyrażenie - <%= . . . %> - musi być w jednym wierszu - Response.Redirect URL S. Wolek Wst. do Inf.
Komunikacja od klienta formularz z polami Input <FORM METHOD=... ACTION="skrypt_obsługi.asp" > . . . 'zawartość: teksty... pola </FORM> GET – przeglądarka przesyła dane jawnie jako kolekty par nazwa=wartość POST – podobnie bez wyświetlania w pasku adresu pole tekstu jednowierszowego - INPUT typu TEXT <INPUT NAME =nazwa TYPE=TEXT [VALUE=domyślna_wartość] > <form method="GET" action="obsluga.asp"> Podaj nazwisko: <input type="text" name="nazwisko" value="Nowak"> </form> S. Wolek Wst. do Inf.
przycisk wysłania SUBMIT- wysyła wartości pól całego formularz <INPUT TYPE= "SUBMIT" VALUE="tytuł" NAME="nazwa" > <input type="submit" value="Wyślij" name="W1"> przycisk zerowania RESET - zeruje pola całego formularza (do wartości domyślnych) <INPUT TYPE=RESET VALUE="tytuł"] > <input type="Reset" value="Zeruj" name="Z1"> projektowanie formularza w FrontPage - pola - pole właściwości nazwa wartość początkowa czcionka warunki poprawności Tab Order - Insert Form Form + właściwości On-Line Text Box Push Button (typ: normal, submit, reset) S. Wolek Wst. do Inf.
- Request.QueryString( "nazwa pola" ) – wysłanego metodą GET obiekt Request - odczytywanie przez serwer - Request.QueryString( "nazwa pola" ) – wysłanego metodą GET - Request.Form( "nazwa pola" ) – wysłanego metodą POST skrypt odczytu danej i pokazania jej: <% sN = Request.QueryString( "nazwisko" ) Response.Write "Podałeś nazwisko: " & sN & "<BR>" %> Przycisk powrotu do dialogu: <form method="GET" action="formularze.asp"> <input type="submit" value="Powrót" name="B1"><br> </form> S. Wolek Wst. do Inf.
- opcji <INPUT NAME =nazwa TYPE=CHECKBOX [VALUE=YES/NO] > tytuł Inne pola - opcji <INPUT NAME =nazwa TYPE=CHECKBOX [VALUE=YES/NO] > tytuł - Insert Form Check Box lista wartości < SELECT NAME =nazwa > <OPTION VALUE ="wartość_1"> tytuł_1 <OPTION VALUE ="wartość_2"> tytuł_2 <OPTION VALUE ="wartość_3"> tytuł_3 </ SELECT > - Insert Form Drop-Down Menu – rozwijana lista przyciski radiowe <INPUT NAME =nazwa TYPE=RADIO VALUE=wartość_1 > tytuł_1 <BR> <INPUT NAME =nazwa TYPE=RADIO VALUE=wartość_2 > tytuł_2 <BR> <INPUT NAME =nazwa TYPE=RADIO VALUE=wartość_3 > tytuł_3 <BR> - Insert Form Radio Button S. Wolek Wst. do Inf.
obszar tekstowy <TEXTAREA =nazwa COLS = "liczba" ROWS= "liczba"> zawartość początkowa </TEXTAREA> - Insert Form Scroling Text Box S. Wolek Wst. do Inf.