1 / 55

ASP T ehnologija z a kreiranje aktivnih Web aplikacija

ASP T ehnologija z a kreiranje aktivnih Web aplikacija. Uvod. ASP - Active Server Pages (aktivne serverske strane) Microsoft-ova tehnologija koj om se povećava fukcionaln o st Web aplikacija . ASP strane su datoteke koje sadr ž e HTML tagove, tekst i skript naredbe.

helena
Download Presentation

ASP T ehnologija z a kreiranje aktivnih Web aplikacija

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP Tehnologija za kreiranje aktivnih Web aplikacija

  2. Uvod • ASP - Active Server Pages (aktivne serverske strane) • Microsoft-ova tehnologija kojom se povećava fukcionalnost Web aplikacija. • ASP strane su datoteke koje sadrže HTML tagove, tekst i skript naredbe. • Ove strane mogu da pozivaju ActiveX komponente i na taj način ugrađuju funkcionalnost koja se teško postiže drugim tehnologijama.

  3. Uvod • To je programski kod koji dinamički generiše HTML Web stranu. • Uvek kada korisnik zahteva neku ASP Web stranu sa nekog Web sajta, ASP kod, u tom trenutku, počinje sa izvršavanjem na Web server-u. • Izvršavanje ASP koda generiše HTML kod, koji se zatim šalje čitaču i upotrebljava za kreiranje Web strane na korisnikovom ekranu.

  4. Razvoj tehnologije • ASP je zvanično prvi put predstavio Microsoft 16. jula 1996. godine. • Prva verzija (ASP 1.0) je puštena u prodaju novembra 1996. godine. • Napredak počinje tek marta 1997. godine, kada je prva verzija proširena sa Microsoft-ovim Internet Information Server-om (IIS). • Microsoft je nastavio sa razvojem ASP-a, i 1998. godine je izašla nova verzija (ASP 2.0) zajedno sa Internet Information Server-om 4.0 i Personal Web Server-om 4.0, kao podrške novoj verziji ASP-a.

  5. Razvoj tehnologije • ASP 2.0 je, u odnosu na ASP 1.0, obogađen novim modelom komunikacije između brousera i servera. • Sa pojavom Windows-a 2000, u koji je ugrađena nova verzija Internet Information Server-a 5.0 zajedno sa ASP-om 3.0, ispravljeni su svi nedostaci ranijih verzija i postignuta je potrebna funkcionalnost. • 2002. godine pojavljuje se Visual Studio .NET i u okviru njega ASP.NET

  6. Kreiranje ASP strana • Jedna ASP datoteka je tekstualna datoteka sa ekstenzijom .asp, koja predstavlja kombinaciju teksta, HTML tagova i ASP skript naredbi. • Za bilo koju HTML datoteku (sa ekstenzijama .html ili .htm) u koju želimo da dodamo ASP skript naredbe, potrebno je promeniti ekstenziju datoteke na .asp. • Može se koristiti bilo koji tekst editor za kreiranje ASP datoteka. • Ako se želi veća podrška za kreiranje ASP datoteka, poželjno je koristiti pomoćne alate kao što su Microsoft Visual InterDev i Microsoft FrontPage.

  7. Struktura ASP strane

  8. Obrada skripta na Serveru Mašina klijenta/čitač Web server Zahtev http://www.fon.bg.ac.yu Datoteka 1.asp asp.dll Čist HTML Mašina za skriptovanje Mašina za skriptovanje

  9. Skript naredbe • Za razliku od HTML tagova, koji služe za formatiranje teksta ili čitanje grafičkih, video ili zvučnih datoteka, skript naredbe zahtevaju od Web servera izvršavanje akcija. • Skript naredbe mogu, na primer, zapamtiti korisnikovo ime u promenljivoj, prikazati ga na strani koja se šalje brouseru ili ga smestiti u bazu podataka. • Skript naredbe se razlikuju od teksta uz pomoć graničnika. Graničnik je slovo ili sekvenca slova, koja označava početak ili kraj nekog bloka podataka. • U slučaju HTML-a, graničnici su simboli < i >, koji ograđuju HTML tagove.   

  10. Skript naredbe • ASP koristi <% i %> graničnike da bi ogradio skript komande. • Između graničnika se stavljaju bilo koje validne naredbe odgovarajućeg skript jezika. • Sledeći primer ilustruje jednostavnu ASP stranu, koja sadrži skript naredbu: • <HTML> • <BODY> • Ova strana je zadnji put osvezena <%= Now %>. • </BODY> • </HTML> • Funkcija Nowu VBScript-u vraća trenutni datum i vreme.

  11. Skript naredbe • Kada Web server izvršava ovu stranicu, on zamenjuje <%= Now %> sa trenutnim datumom i vremenom, i šalje stranicu u brouser. • Izgled stranice je: • Ova strana je zadnji put osvezena 9/12/2000 2:20:00 PM. • Podrazumevani primarni skript jezik je VBScript. Može se koristiti bilo koji drugi skript jezik kao primarni, ukoliko za njega postoji podrška.

  12. Mešanje HTML-a i skript naredbi • Između ASP graničnika se smešta bilo koji iskaz, izraz, procedura ili funkcija, koja mora biti validna za primarni skript jezik. • Iskaz, u VBScript-u i drugim skript jezicima, je sintaksno kompletan blok koji opisuje neku vrstu akcije, deklaracije ili definicije. • Uslovni iskaz If...Then...Else je najčešće pojavljivani iskaz u VBScript jeziku. • Njegova konstrukcija je data u sledećem primeru:

  13. Mešanje HTML-a i skript naredbi • <% • If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then • Pozdrav = “Dobro jutro!” • Else • Pozdrav = “Zdravo!” • End If • %> • <% • = Pozdrav • %>

  14. Mešanje HTML-a i skript naredbi • Ovaj iskaz dodeljuje vrednost Dobro jutro! ili Zdravo!promenljivoj Pozdrav. • Komanda <%= Pozdrav %> šalje trenutnu vrednost promenljive u brouser. • Sistemska promenljiva Time sadrži trenutno vreme Web servera. • HTLM tekst se može ubaciti između delova iskaza. • Ilustrovano na prethodnom primeru izgleda ovako:

  15. Mešanje HTML-a i skript naredbi <% if Time >= #12:00:00 AM# And Time < #12:00:00 PM# then %> Dobro jutro! <%else%> Zdravo! <%end If %>

  16. ASP direktive • ASP obezbeđuje direktive koje nisu deo skript jezika koji koristimo. • Ove direktive mogu biti izlazne i izvršne. • Izlazne ASP direktive <%= izraz %> prikazuju vrednost izraza. • ASP izvršna direktiva <%@ ključna_reč %> daje ASP-u informaciju koja mu je potrebna za izvršavanje .asp datoteka. • Na primer, sledeća direktiva postavlja VBScript kao primarni skript jezik strane: • <%@ LANGUAGE=VBScript %>

  17. ASP direktive • Izvšne direktive treba da se nalaze u prvoj liniji ASP datoteke. i • Izvršne direktive imaju sledeće ključne reči: • LANGUAGE – postavlja skript jezik strane. • CODEPAGE– postavlja kodnu stranu (kodove za slova). • LCID – postavlja lokalni identifikator strane. • TRANSACTION – određuje da će se strana izvršavati u transakcijonom režimu. • ENABLESESSIONSTATE – određuje da li ASP srana koristi session stanje. • Može se uključiti više ključnih reči u direktivu.

  18. Rad sa skript jezicima • Skript jezici predstavljaju posrednike između HTML-a i programskih jezika, kao što su Java, C++ ili Visual Basic. • Centralni deo skript jezika je formatiranje teksta i pozivanje kompajliranih komponenti, pisanih u nekom programskom jeziku. • ASP omogućava Web programerima pisanje kompletnih procedura, korišćenjem različitih vrsta skript jezika. • Kako se skript kod čita i interpretira na strani servera, korisnički (klijentski) čitač, koji zahteva ASP datoteku, ne mora da ima podršku za skript jezike.

  19. Rad sa skript jezicima • U jednoj ASP datoteci može se istovremeno koristiti više skript jezika. • Da bi se na Web serveru koristo skript jezik, mora da postoji instaliran odgovarajući Script engine. Script engine je program- interpretator koji izvršava naredbe pisane u određenom skript jeziku. • ASP u sebi sadrži dva Script engine–a : Microsoft Visual Basic Scripting Edition (VBScript) i Microsoft JScript. Za ostale skript jezike, kao što su REXX ili Perlpotrebno je posebno instalirati odgovarajući Script engine.

  20. Promenljive i konstante • Za deklaraciju promenljive u VBScript-u, koristi se Dim, Public i Private iskazi. • Na primer: • <% Dim KorisnickoIme %> • JScript zahteva deklaraciju samo promenljivih koje su lokalne za proceduru. • Da bi se deklarisalai promenljiva, koristi se var iskaz. • Na primer: • <% var KorisnickoIme; %>

  21. Promenljive i konstante • Neke od osnovnih komponenti ASP-a, kao što su ActiveX Data Objects (ADO), definišu konstante koje se mogu koristiti u skriptovima. • Komponente deklarišu konstante u Component Type bibliotekama, datotekama koje sadrže informacije o objektima i tipovima koji su podržani od strane ActiveX komponente. • Jednom kada se deklarišeType biblioteka u Global.asa datoteci, deklarisane konstante se mogu koristiti u aplikaciji bilo gde u skriptu. • <!--METADATA TYPE=”typelib” • FILE=”c:\program files\common\ado\msado15.dll” • -->

  22. Procedure • Sledećiprimer ilustruje kreiranje i pozivanje procedura u jezicima VBScript i JScript: • <%@ LANGUAGE = VBSCRIPT %> • <HTML> • <BODY> • <% Call Stamanje %> • <BR> • <% Call StampanjeDatuma()%> • </BODY> • </HTML>

  23. Procedure <% Sub Stamanje Response.Write “Poruka” End Sub %> <SCRIPT LANGUAGE=JScript RUNAT=Server> function StampanjeDatuma() { var x x = new Date() Response.Write(x.toString()) } </SCRIPT>

  24. Komponente i objekti • ActiveX komponente su ključ za izgradnju moćnih Web aplikacija. • Komponente obezbeđuju objekte koji se mogu koristiti u skriptovima za obavljanje različitih zadataka. • Mogu da se koriste komponente u skriptovima bez ikakvog znanja o načinu rada komponente. • Potrebno je samo znati pristup objektima koje komponenta obezbeđuje. • Komponente se mogu pisati u bilo kom programskom jeziku koji podržava Component Object Model (COM), kao što su C, C++, Java ili Visual Basic.

  25. Komponente i objekti • Da bi komponenta mogla da se izvršava na Web serveru mora biti instalirana. • Na primer, ASP AdRotator komponenta rotira slučajno niz grafičkih slika. AdRotator komponenta obezbeđuje jedan objekat, čiji je PROGID MSWC.AdRotator. • Za kreiranje instance AdRotator objekta koriste se sledeći iskaz. • <% Set MojAdRotator = Server.CreateObject(“MSWC.AdRotator”) %>    

  26. Kolekcije • Većina ASP build-in objekata podržava kolekcije. • U kolekciji se smeštaju stringovi, brojevi, objekti i druge vrednosti. • Kolekcija je slična nizu, s tom razlikom što se ona automatski povećava i smanjuje dodavanjem ili uzimanjem stavki iz nje. • Određenoj stavki kolekcije može se pristupiti navođenjem njenog imena. • Na primer, Contents kolekcija čuva jedan deo promenljivih smeštenih u Session objektu.

  27. Kolekcije • Čuvanje korisničkih informacija u Session objektu ilustrovano je u sledećem primeru: • <% • Session.Contents(“Ime”) =“Petar” • Session.Contents(“Prezime”) =“Petrovic” • Session.Contents(“Starost”) = 29 • %>     

  28. Vidljivost objekata • Vidljivost objekta određuje koji skript može da koristi objekat. • Usvojeno je da kreiranjem instance objekta, objekat ima vidljivost strane, tj. svaka skript naredba na istoj ASP strani može da koristi takav objekat. • Sesijski vidljiv objekat se kreira za svaku novu sesiju u jednoj aplikaciji i oslobađa kada se sesija završava. • Ako se koristi sesijska vidljivost, potrebno je poznavati model komponente koja obezbeđuje objekat. Razlog tome je što model komponente utiče na performanse i bezbednost sadržaja objekta.

  29. Vidljivost objekata • Sledeći primer kreira sesijski vidljivu instancu AdRotator objekta: • <OBJECT RUNAT=Server SCOPE=Session ID=MojAd PROGID=”MSWC.Adrotator”> • </OBJECT> • Aplikaciono vidljiv objekat je instanca jednog objekta koja se kreira pri startovanju aplikacije. Ovaj objekat je deljiv od strane svih klijentskih zahteva. • Da bi se objektu dodelila aplikaciona vidljivost, potrebno je objekat smestiti u ASP Application build-in objekat.

  30. ASP build-in objekti • ASP obezbeđuje build-in objekte, koji olakšavaju prikupljanje informacija (koje su poslate od strane klijenta), prepoznavanje čitača i čuvanje informacija o korisniku. • Application objekat se koristi za deljenje informacija između svih korisnika date aplikacije. • Request objekat se koristi za dobijanje pristupa informacijama koje se dobijaju preko HTTP zahteva. • Request objekat, takođe, omogućava pristup binarnim podacima koji se čalju na serveru. • Response objekat se koristi za kontrolu informacija koje se šalju korisniku.

  31. ASP build-in objekti • Server objekat obezbeđuje pristup atributima i metodama na serveru. Najkorišćeniji metod Server objekta je Server.CreateObject, koji se koristi za kreiranje instance ActiveX komonente. • Session objekat čuva informacije potrebne za određenu korisničku sesiju. Promenljive smeštene u Session objektu nisu izgubljene prilikom prelaska sa strane na stranu u okviru aplikacije. • ObjectContext objekat se koristi za izvršavanje ili prekidanje transakcija, aktiviranih od strane ASP skriptova. 

  32. Objekat Application Zahtev klijenta Objekat Session Objekat Request Klijent Odgovor servera Objekat Response Zahtev klijenta Objekat Session Objekat Request Objekat Server Objekat Response Klijent Odgovor servera Objekat ASPError Objekti u ASP-u

  33. Objekat Request • Kada čitač pozove Web stranicu kaže se da je on uputio zahtev • Pored imena stranice čitač šalje i razne druge informacije serveru • ASP objekat Request prihvata sve ove informacije i čini ih čitljivijim za server • Objekat Request ima pet kolekcija • QueryString - niz znakova za dodatni zahtev • Form - skuplja podatke sa formulara • Servervariables - promenljive servera • Cookies - posebna kategorija informacija prethodno ostavljenih kod klijenta • ClientCertification - provera klijenta

  34. Objekat Response • Uloga mu je da pošalje informacije koje je tražio klijent • Metode ovog objekta su • Buffer - sačuvaj privremeno • Write - piši • Redirect - ukoliko traba korisnika da preusmerimo na druge stranice unutar aplikacije da bi dobio informaciju • Content Expiration - ovo je zapravo keš (cache) zamišljen kao metod za raterećenje servera. Kada se radi sa dinamičkim podacima moramo biti sigurni da korisnik dobija najsvežije podatke

  35. Objekat Session • Osnovni HTTP protokol ne pamti ko je sve spojen na njega • Svaki zahtev se obrađuje na serveru svaki put kada klijent zatraži nešto sa njega • Objekat Session može da pamti podatke o korisniku na jedinstven i pouzdan način • Objekat Session je skup promenljivih koje definišemo i čuvamo na serveru • Sve dok je posetilac priključen na sajt te promenljive postoje mogu da se koriste indentifikuju i prate

  36. Objekat Application • Ono što radi objekat Session za pojedinačnog korisnika, objekat Application radi za ceo sajt, celu aplikaciju • Razlika je u tome što promenljivoj može da priđe bilo koji korisnik u bilo koje vreme • Svaka stranica unutar aplikacije može da priđe promenljivoj i da prikaže vrednost svim korisnicima koji su trenutno logovani

  37. Objekat Server • Objekat nižeg nivoa i može da se koristi za izvršavanje određenih zadataka unutar ASP-a • Najčešća upotreba je kreiranje instanci komponenti sa strane servera Set InstanceName = Server.CreateObject("ClassName.ComponentName")

  38. ActiveX komponente • Ovde je dat pregled ActiveX komponenata koje su uključene u ASP. • DatabaseAccess komponenta obezbeđuje pristup bazi podataka iz Web aplikacije. • AdRotator komponenta se koristi za naizmenično prikazivanje niza slika i obezbeđivanje linkova od prikazane slike do nekog drugog URL-a. • ContentRotator komponenta može automatski da rotira HTML sadržaj stringova na Web strani.

  39. ActiveX komponente • Browser Capabilities komponenta može kontrolisati sadržaj koji se šalje u čitač u zavisnosti od mogućnosti čitača. • File Access komponenta obezbeđuje objekte koji se koristite za brisanje i modifikaciju datoteka u file sistemu računara. • Content Linking komponenta olakćava logičku navigaciju kroz .asp datoteke u jednoj aplikaciji. • MyInfo, Status, System, i Tools komponente obezbeđuju kompatibilnost aplikacija, koje su razvijene za Macintosh platforme. • Page Counter komponenta broji i prikazuje koliko puta je Web strana zahtevana.

  40. Slanje sadržaja u čitač • Kada se jedan ASP skript izvršava, bilo koji tekst koji nije zatvoren ASP graničnicima ili <SCRIPT> tagovima, se jednostavno vraća u čitač. • Eksplicitno se može poslati sadržaj u brouser korišćenjem Response objekta. • Na primer, sledeći iskaz šalje različite pozdrave korisniku u zavisnosti od toga koji put korisnik posećuje stranu: • <H3 ALIGN=CENTER> • <% If FirstTime Then %> Dobrodošli na stranu. • <% Else %> Dobrodošli ponovo na stranu. • <% End If %> </H3>

  41. Slanje sadržaja u čitač • Sledeći skript daje potpuno isti rezultat kao i predhodni: • <% If FirstTime = True • Then • Response.Write • “<H3 ALIGN=CENTER>Dobrodosli na stranu.</H3>” • Else • Response.Write • “<H3 ALIGN=CENTER>Dobrodosli ponovo nastranu.</H3>” • End If %>     

  42. Slanje skriptova u čitač • Mogu se pisati skriptovi na strani servera koji sadrže i skript naredbe koje se šalju u čitač. • Ovo se omogućava kombinovanjem skriptova na strani klijenta, koji su zatvoreni u HTML komentarima, sa skriptovima na strani klijenta, koji su zatvoreni graničnicima: • <SCRIPT LANGUAGE="VBScript"> • <!— • klijenski skript • <% serverski skript %> • klijenski skript • <% serverski skript %>... • --> • </SCRIPT>

  43. Uključivanje datoteka • Serverske direktive omogućavaju ubacivanje sadržaja jedne datoteke u drugu, pre nego što Web server izvrši drugu datoteku. • Da bi se ubacila datoteku u .asp datoteku, koristi se sledeća sintaksa: • <!--#include virtual | file ="filename"--> • Virtual i file ključne reči određuju tip putanje koji se koristi da bi se uključila datoteka, a filename je putanja i ime datoteke koja se uključuje. • <!--#include virtual ="/myapp/footer.inc"-->

  44. Prihvatanje podataka iz HTML formulara • ASP Request objekat obezbeđuje dve kolekcije koje znatno olakšavaju prihvatanje informacija iz formilara (QueryString i Form) • QueryString kolekcija vraća vrednosti iz formulara koje se prenose na Web server kao prateći tekst URL zahteva. • Na primer URL zahtev će biti poslat na server u sledećem obliku: • http://scripts/Myfile.asp?ime=Petar&prezime=Petrovic&godina=30&userstatus=new

  45. Prihvatanje podataka iz HTML formulara • Myfile.asp može da sadrži sledeći skript za obradu formulara: • Tvoje ime je • <%= Request.QueryString("ime") %> • <%= Request.QueryString("prezime") %>. • Ti si • <%= Request.QueryString("godina") %> • godina star.

  46. Pristupanje bazi podataka • ActiveX Data Objects (ADO) je proširiva tehnologija koja omogućava pristup bazi podataka preko Web strane. • ADO obezbeđuje Connection objekat, koji se koristi za upravljanje vezom između aplikacije i ODBC baze podataka. • Connection objekat sadrži različite atribute i metode koji se koriste za otvaranje konekcije, zatvaranje konekcije i slanje obaveštenja o modifikaciji podataka. • Za postavljanje veze sa bazom podataka, mora se kreirati instanca Connection objekta.

  47. Pristupanje bazi podataka • Na primer sledeći skript instancira Connection objekat i izvršava otvaranje konekcije: • <% 'Kreiranje Connection objekta • Set cn = Server.CreateObject("ADODB.Connection") 'Otvaranje konekcije, string ukazuje na DSN • cn.Open "FILEDSN=MyDatabase.dsn"%>

  48. Pristupanje bazi podataka (nastavak) • Ubacivanje sloga u tabelu baze podataka <% Set cn = Server.CreateObject (“ADODB.Connection”) cn.Open “FILEDSN=MyDatabase” cn.Execute = “INSERT INTO Musterije(Ime)VALUES(“Petar”)” %>

  49. Primer: Logovanje na stranu • U ovom primeru, biće prikazano kako se implementira logovanje na stranu pomoću korisničkog imena i pasvorda. • Omogućeno je i čuvanje informacija za logovanje u cookie-ju. Datoteka login.asp je početna strana u kojoj se unose informacije za logovanje, dok datoteka checkLogin.asp proverava te informacije i prikazuje stranu koja potvrđuje uspešnost provere.

  50. Primer: Logovanje na stranu • Sadržaj datoteke login.asp • <HTML> • <HEAD> • <TITLE>Cookie Test - Login</TITLE> • </HEAD> • <BODY> • Please enter your e-mail address and password to login to the system. • <FORM ACTION = "CheckLogin.asp" METHOD="POST" > • E-Mail Address: <INPUT TYPE = "Text" NAME = "Email" SIZE = "40"><BR> • Password: <INPUT TYPE = "Password" NAME = "Password" SIZE = "10"><P>

More Related