INTERNET-PROGRAMOZÁS

Az elıadások és a gyakorlatok vázlata Összeállította: Juhász Tibor – 2004 – Az elıadás „hivatalos” anyaga: IntAlkNet.zip (régebbi, lásd még: http://www.gdf.hu/Segedletek/119Seg.htm)

1. A World Wide Web
WWW: információforrások hálózata Összetevıi: erıforrások címzési rendszere (URL) protokoll a források elérésére (http) hipertext az információkezeléshez és a navigációhoz (html)

Uniform Resources Locator (URL)
URI (Uniform Resources Identifier): hálózati erıforrások címzési rendszere dokumentumok, képek, videó, programok stb. URL: internetes erıforrások címzési rendszere, a URI része A URL részei: protokoll host-név port (kimaradhat, ekkor a default értéket használja) path Protokoll: http, telnet, file, mailto, ftp, news, gopher, wais stb. Host-név: általában DNS, a port kettıspont után következik, pl. xxx.xxx.com:80 (web-szerver) Path: mappák/fájl. Kiegészítések: #könyvjelzınév (a html fájlon belül) %paraméterek ?keresıkifejezés a html kódban használható relatív path is (pl. ../…)! Ha hiányzik a fájlnév, akkor a webszerver beállításától függıen: index.htm(l), default.htm(l), asp(x) stb. Dokumentumok: URI.zip, URL.zip, A Beginner's Guide to URLs.htm

Hypertext Transfer Protokol
Alkalmazási réteg protokollja, a TCP/IP fölött helyezkedik el Web-dokumentumokat, fájlokat továbbít a TCP/IP segítségével A szerver-kliens modellt használja: webszerver ↔ http ↔ kliens (böngészı) A HTTP protokoll HTTP 1.0: 1990-tıl, de egységes szabványként 1996-tól (RFC 1945). Jelenleg: HTTP 1.1 és HTTP Extensions (RFC2068, 2616 lásd: RFC.zip, Extensions: RFC2774) Lásd: www.w3.org Kérés-válasz (request-response) protokoll Állapot nélküli protokoll (↔ FTP, telnet) nem emlékszik az utolsó állapotra (1.1-nél beállítható, hogy legyen session!) minden egyes mővelethez létre kell hozni, majd megszakítani a kapcsolatot Szöveg-alapú protokoll (ASCII, a log-fájlokban követhetı) Üzenetekbıl áll (RFC0822, lásd: RFC.zip) Üzenet: fejléc + törzs (= fájl) Az üzenetek a MIME-szabványt használják MIME fejléc: típus/altípus (content-type). Pl.: text/html, plain, richtext stb. image/jpeg, gif, tiff stb. application/msword stb. Dokumentum: HTTPRef.zip (RFC2068)

Juhász T.: Internet-programozás

1

A HTTP tranzakció 4 lépésbıl áll (követhetı a böngészı állapotsorában) − a kapcsolat létrehozása kapcsolatkérés a szerver 80-as portjára kérés fogadása, a kapcsolat létrehozása − a kérés elküldése: fejléc + törzs fejléc: kérési sor: metódus (parancs) + URI + HTTP verziószám (pl. 1.1) fejléc-mezık (tulajdonképpen az adatok), pl. dátum, authorization (kódolt jelszóval és felhasználónévvel) if-modified-since (ha nem, akkor 304-es állapotkódot küld vissza a szerver) stb. host (1.1-nél, → több webhely ugyanazzal a URL-lel!) törzs: törzsfejléc-mezık (nem kötelezı), pl. content-encoding (a tartalom kódolásának típusa) content-length (a tartalom hossza bájtban, nem kötelezı megadni) stb. tartalom: a küldendı fájl bájtjai − a szerver válasza: fejléc + törzs fejléc: válasz-sor: HTTP verzió + állapotkód fejléc-mezık stb. − a kiszolgáló bontja a kapcsolatot A tranzakció eredménye általában fájl küldése a kliensnek (a válasz törzsében) Állapotkódok 1xx: információs üzenetek (pl. protokollváltás stb.) 2xx: a kérés elfogadása és kiszolgálása 200: OK 3xx: átirányítás (pl. a kért fájl ideiglenesen egy másik URL-nél található) 304: nincs módosítva (if-modified-since kérés esetén) 4xx: hiba a kliensnél 400: nem értelmezhetı kérés 401: az elérés tiltva (nincs hozzá jog) 404: nem található a kért fájl 500: hiba a szerveren 500: belsı szerver-hiba (elıre nem várt, hibás programfutás) Példák a web-szerver naplófájljában (%WinDir%\System32\Logfiles\W3svcxx) Win2000 Server több adatot jegyez fel, mint az XP (pl. a web-szerver IP-címét is) lásd: wwwlog.txt

HTTP metódusok
A GET metódus Csak fejlécet küld (URI) pl. az őrlapoknál az adatok a ? karakter után jönnek ?NEV=…&KOR=…&… (a szóköz helyett + karakter van az adatokban) Formátum: GET URI (GET nagybetővel!) A sztring (QueryString) beírható egy szkriptbe (másik weblap szkriptbıl történı meghívásánál) A ? utáni rész a szerver Query_String környezeti változójába kerül, amit elérhetnek a programok A sztring hosszát a böngészı URL-jének és a szerver Query_String-jének a hossza korlátozza. A POST metódus Összetettebb a GET-nél Törzset is küld, az adatok (fájlok, objektumok stb.) a törzsben vannak. A törzsbe beilleszt egy objektumot, és a megadott URI-hez a szerver ezt használja erıforrásként az objektumot a szerver átadja a megfelelı programnak a standard inputon keresztül (pl. C: stdin) Nincs a méret korlátozva A SOAP metódus Simple Object Access Protocol: egyszerő objektum-hozzáférési protokoll Csak a .NET ismeri Kommunikáció XML formátumban (lásd késıbb) Egyéb metódusok Pl. PUT: fájl felküldéséhez a szerverre stb.

Juhász T.: Internet-programozás

2

Hypertext Markup Language (HTML)
− fejlécek, szövegek, táblázatok, képek stb. − hiperlinkek − őrlapok (!) − videók, hangfájlok − a szerveren vagy a kliensen végrehajtandó utasítássorozatok (szkriptek) stb. Kifejlesztés a CERN-ben (1989) Az SGML (strukturált leíró nyelvek szabványa, ISO 8879) egy konkrét megvalósítása 4-es verzió: jelentıs változtatások, pl. stíluslapok, szövegirány, elemek azonosítója (!), objektumok (!) Újabban: XHTL (Extensible Hypertext Language): bıvíthetı

2. A HTML alapjai
Tankönyv 9-35. old. Megnézni: tankönyvi feladatok (fájlok: Feladat1 mappa, kiegészítve néhány további példával). Dokumentumok: − Html40.zip (cover.html, tartalom, elemek jegyzéke, attribútumok jegyzéke, tárgymutató) − HtmlRefs.zip, HtmlTags.zip − Htmlreference.html − HtmlKonyv.pdf (Computer Panoráma, 2002. szeptember, néhány tévedés van benne) − Tanfolyami anyag példákkal: HtmlTanfolyam.zip (Html.doc)

A HTML dokumentumok szerkezete
− egymásba ágyazott elemekbıl állnak, a legutoljára megnyitottat kell legelıször lezárni. − fı elemek: dokumentum = fej + törzs Tagok − az elemeket tagok határolják (nyitó-tag, tartalom, záró-tag, üres elem esetén csak nyitó-tag van) − tagok: <név tulajdonságok> … </név>, névnél kisbető, nagybető egyenértékő − tulajdonságok: név=”érték” (gyakran elhagyható az idézıjel) Példa: Ures.htm Fej − az ablak címsorának a szövege (<title> szöveg </title>) − dokumentum típusa, karakterkészlet (<meta>, üres elem: nincs záró-tag) Példa: Elso.htm (szabványos magyar karakterkészlet!!!) <META http-equiv=CONTENT-TYPE content="text/html; charset=iso-8859-2"> Törzs − maga a weblap (szövegek, képek, táblázatok, őrlapok, linkek stb.) − fehér vagy tagoló karakterek (szóköz, enter, tabulátor) nem jelennek meg a weblapon (csak a szavak közti egyetlen szóköz lesz belılük!) – a forráskód tagolására, strukturálására használhatók − karakter-entitás (egyed), pl. nem törhetı szóköz: &nbsp; vagy &#160; több szóköz esetén, táblázatok üres celláiban! − megjegyzések: <!-- … --> tagban

A HTML dokumentumok formázása
Karakterformázás (Tk. 11-12. old.) Példa: Feladat1-2.htm (egymásba is lehet ágyazni). Formázás a font-elemmel: Feladat1-3.htm Elıre formázott szöveg megjelenítése (fehér karakterek is): Feladat1-5.htm Hf. Megnézni a HR és NOBR elemeket. Bekezdésformázás (Tk. 12-15. old.) Bekezdés, soremelés, címsorok: Feladat1-4.htm A szöveg igazítása: Feladat1-6.htm Lapformázás A BODY elem attribútumaival. például háttérszín (BGCOLOR), betőszín (TEXT) Lásd a HtmlTanfolyam-ban. Képek beillesztése (Tk. 15-16. old.) Példa: Feladat1-7.htm Relatív, abszolút elérési út, hivatkozás URL-lel (Tk. 16. old.) Célszerő megadni a WIDTH és HEIGHT attribútumokat (gyorsabb a lap összeállítása, nem ugrál a szöveg) Sok további lehetıség a HtmlTanfolyam-ban. Juhász T.: Internet-programozás 3

Hivatkozások használata (Tk. 16. old.) Példa: Feladat1-7.htm Könyvjelzık alkalmazása Színek: a BODY attribútumaival alink: az aktív link színe link: a még fel nem keresett link színe vlink: a már felkeresett link színe (onmouseover: lásd a stílusoknál) Példa: Link.htm, w1.htm, w2.htm, w3.htm Táblázatok a weblapon (Tk. 19-25. old.) Egymásba skatulyázott TABLE, TR, TD elemek Példa: Feladat1-10.htm Fejléc: THEAD, TH (félkövér betőkkel írja) Az elemek strukturálásához (pl. XML esetén) Nyomtatásnál megismétli az új oldalon Példa: Feladat1-10a.htm Táblázatok formázása: Feladat1-11.htm cellspacing: hely a cellák között, cellpadding: margó a cellákon belül Sorok, oszlopok összevonása: Feladat1-12.htm Üres cellák keretezése nem törhetı szóközzel: Feladat1-12a.htm Egy cella további táblázatot is tartalmazhat (lásd Feladat1-13.htm) Táblázatok felhasználása tördelésre (BORDER=”0”): Feladat1-14.htm

Keretek használata
Tk. 25-28. old A <frameset> elem Frameset dokumentum: a body helyett frameset elem Példa: Feladat1-15.htm Méret %-ban, pixelben, *: a maradék hely A keretek egymásba is skatulyázhatók: Feladat1-16.htm A NOFRAMES elem segítségével adhatunk meg információkat azon böngészık számára, melyek nem ismerik a kereteket. Linkek esetén ki kell jelölni a célkeretet (target attribútum): Feladat 1-17 Ötletek, trükkök: Keretek.zip

Konténerek
Tk. 32-33. old. SPAN: in-line elem (nem hoz létre sortörést) DIV: blokk-elem (külön bekezdésnek számít) Cél: önálló stílusok hozzárendelése, objektumok használata Példa: Feladat1-21.htm

Őrlap-elemek
A FORM elemen belül (a SUBMIT a FORM elemeire vonatkozik) Példa: Elemek.htm, Valasz.htm Megnézni a URL-t!

Egyéb lehetıségek
Speciális karakterek megjelenítése (Tk. 33-35. old.): − Az XMP elemmel (Feladat1-22.htm) − Karakter-entitásokkal (karakter egyedekkel, Feladat1-23.htm) − Karakterkódok: Html40.zip/sgml/entities.html, Karakterkod.zip (pl. < > jelek). Listák: tk. 17-19. old. (Feladat 1-8, 1-9, a-c). A Fieldset és Legend elemek: Tk. 29-30. old. (Feladat1-19.htm) A Map elem (aktív területek – hot spots): tk. 31-32. old. (Feladat 1-20.htm). A FrontPage tudja szerkeszteni (a FrontPage Express nem) Szép példa: http://alpha.dfmk.hu/~albireo/jt/adria.htm ☺

HTML trükkök
Trukkok.zip − FontRoller.htm: − MoreFonts.htm − PcvsMac.htm: változó mérető betők többféle betőtípus elıírása egyszerre betőméret problémák 4

Juhász T.: Internet-programozás

) Szintaxis! (Kettıspont az elválasztójel az A és az osztálynév között. Kaszkádolt stíluslapok Tankönyv 36-42.htm: képek nyújtásának ötletes alkalmazása További fájlok ColPal. pontosvesszı) Több tag is megadható egy deklarációnál. Példa: Feladat2-5a.htm) HtmlTutorial.htm Az osztályok definíciói is tárolhatók külön fájlban.htm Ritkán használjuk. szétválasztják a tartalmat és a megjelenítési formát.zip: bemutatja a különbözı betőtípusokat (master.zip: Windows betőtípus beillesztése kell hozzá a Weft.css. Feladat2.zip: HTML referencia magyarul (main.htm A keretezési elıírás régebbi böngészıkben csak blokk-elemre vonatkozik.zip/HTML. 41.htm Összefoglaló: HtmlTanfolyam. A css fájlba nem kell a <STYLE> tag! A html kódban a csatolt stíluslap definíciói felülírhatók! CSS attribútumok Lásd: CSStulajdonsagok.htm) Html.html) RosszWeb. Példa: Feladat2-5.zip: táblázatok összeállításának gyorsítása FontViewer.: Internet-programozás 5 . Példa: Feladat2-4. H2 { … } Csatolt stíluslap Külön css fájl a stílusdefiníciókkal.htm.htm) 3.zip: HTML összefoglaló magyarul (index. Példa: Linking.zip. old. <div> is használható).zip: bevezetı a HTML-be magyarul (start.htm Stíluslap: stílusdeklarációk sorozata. Stílusok alkalmazása (~ szövegszerkesztık) CSS: kaszkádolt stíluslapok. mystyles.) Pozícionálás a weblapon Példa: Pozicio.zip fájlban HtmlAlapok.. Szintaxis! (Nem kell < > a taghoz.zip (szkripteket felhasználó példákkal is. Példák a CSS mappában.exe: a képernyın látható színnek meghatározza az RGB összetevıit FixMeret. Példa: Inline. H1. Stílusdeklaráció: − a tétel neve (szelektor: HTML tag vagy globális osztálynév. erre vonatkozik a stílus) − deklarációs blokk a stílusdeklarációkkal: tulajdonságnév: érték In-line stílusok A nyitó tagba építünk be egy STYLE attribútumot (szintaxis!).htm.htm Pozícionálás összefoglaló: Pozicio. Az <a> elem pszeudoosztályai Példa: Feladat2-6 (Tk. kapcsos zárójel. Young: XML lépérıl lépésre Stílus osztályok Egy elemnél altípusokat hozhatunk létre.− Tricolor. A stílusok elemekhez rendelhetık hozzá (<span>. pl.doc (in-line példákkal) Részletes ismertetés: Michael J.exe program magyarázat a WeftTutor. Globális stíluslap A head STYLE elemeként adjuk meg.htm Globális osztályok: bármelyik elemhez hozzárendelhetık. Példa: Embedding.zip: 10 rossz megoldás a weblapoknál Embedding. old. lásd késıbb) Juhász T. in-line-ra nem. Stíluslapok használata Alapfogalmak: CSS.

PHP. Eszközök − kliensoldali szkriptek használata (DHTML) utasítássorozatok (szkriptek) a html kódban letöltés után is változhat a weblap a kliensen fut. Netscape esetén a VBS-hez plugin-t kell letölteni Egy html dokumentumban többféle nyelv is használható Kliensoldali szkript − a böngészı hajtja végre − default: JavaScript − a szöveg. külön-külön kell lekérni.) A vizsgán tudni kell: − egy-. adatbázis lekérdezés eredménye. A benne lévı képeket stb. Szerveroldali szkipt − a szerver hajtja végre (kiterjesztés!) − default: VBScript (IIS) − html kódot generál.MS Visual Basic Scripting Edition (VBS) Default nyelv a kliensen a JavaScript.: Internet-programozás 6 .zip 4. őrlapok) újabb információcseréhez vezetnek a szerverrel. amit egy másik program hajt végre – interpreter) Része a weblapnak. elınyök.ECMA Script: standard szkript nyelv (platformfüggetlen) implementációk pl. hátrányok − az alkalmazásfejlesztés életciklusa 5. nem kell fordítóprogram interaktív kommunikáció a szerver és a kliens között Szkriptek Szkript: a HTML-kódba illesztett utasítássorozat (pontosabban: olyan utasítássorozat. őrlapok feldolgozása. (XML: lásd a szkriptek után. a lap megjelenésének változtatása (letöltés után! pl. nem illeszthetık a weblapba. gomb lenyomásakor) − őrlapok adatainak ellenırzése a küldés elıtt stb. JavaScript. Minden egér vagy billentyőzet mővelet (pl. Juhász T. nem igényel újabb kommunikációt a szerverrel − programok futtatása a szerveren (CGI) a kliens kérésének következtében (weblap lekérése helyett) nehéz megírni. Dinamikus weblapok Reagálnak a felhasználó által kiváltott eseményekre. Statikus és dinamikus weblapok Statikus weblapok A szerver tárolja.htm CSS példák és ötletek: CSSTippek. és kérésre elküldi az elıre elkészített weblapot. a szerver vagy a böngészı hajtja végre Nyelvek: .és háromrétegő alkalmazásmodell − vékony és vastag kliens technológia. jelszó) stb. két. erıs szerver kell hozzá − szerveroldali programozás (ASP. Az Internet szolgáltatások felépítése Tankönyv 50-56. old. a szerveren a VBScript (IIS esetén) a LANGUAGE attribútummal megváltoztatható (az új lesz érvényes a többi szkriptben) ASCII kód – interpreter kell hozzá IE tartalmazza.CSS dokumentumok Magyar nyelvő ismertetı: CssReferencia. ASPX) a szkripteket a szerver hajtja végre weblapot készít a felhasználó számára könnyő megírni. MS Jscript (nem teljesen kompatibilisek) . ezt küldi el a kliensnek! − a weblap tartalmazhat szerveroldali és kliensoldali szkriptet egyszerre is − pl. átirányítás másik lapra (pl.zip (cssmain. Változnak a letöltés elıtt (akkor készülnek el) vagy a letöltés után (!).htm) A CSS2 újabb lehetıségei: CSS2.

függvények: híváskor (beolvasáskor csak szintaktikai ellenırzés) eseménykezelı eljárások: az esemény bekövetkezésekor (az operációs rendszer/böngészı hívja meg) Az eljárásokat.htm sztringek és változók értékeinek az összefőzése. for: eseménykezelı szkriptek esetén (lásd késıbb) Szkriptek futásának engedélyezése SP2 esetén.com/scripting Objektumalapú nyelv. z (csak az y kap értéket!) Operátorok: tk.… -. Fıbb eszközök: − kliensoldali szkriptek − Document Object Model (DOM) − CSS (pozícionálás) A <SCRIPT> elem <script> … </script> (szerveren lásd késıbb) A dokumentum tetszıleges számú SCRIPT-elemet tartalmazhat egymásra hivatkozhatnak (pl. Java konzol engedélyezése JSRef. JSCRIPT.: Internet-programozás 7 . 61. A JavaScript Az Explorer beállítása: Eszközök/Internetbeállítások/Speciális: Böngészés. JSDemo.>) közé írni a szkriptet.htm (frissítéssel futtatható újra) Változók és mőveletek − betővel vagy aláhúzásjellel kezdıdhetnek − megkülönbözteti a kis és nagybetőket! − nem kell deklarálni a változókat (baj!!!).write ír az aktuális weblapra (tkp. zárójelezés!!! az utolsó mőveletnél (1001-500) a fejléc típus sorszáma változó!!! Juhász T.zip: magyar nyelvő tankönyv (index.htm (tankönyv).zip: Jstutor. változók. A kód linkelhetı a dokumentumhoz: JSDemo. Példa: JSOperators.htm (betőformázás) Üzenet a felhasználónak: JSAlert. szimbolikáját használja Az utasításokat pontosvesszıvel kell elválasztani Példa: JavaScript\JSElso. nem lehet megadni a típust (baj!!!) − lehet deklarálni a változókat (!). függvényeket a HEAD-be illik tenni (de bárhol lehetnek) Tulajdonságok: − language: JAVASCRIPT.htm document. Jstoc (referencia kézikönyv) JSTutorial. a document objektum write metódusa) tagokat is írhatunk a szkriptbe! Megjegyzések a JavaScript-en belül: // a sor végéig /* több soros megjegyzés esetén */ Célszerő HTML megjegyzések (<!-. var x. y=1. VBSCRIPT. old. eljárások) Végrehajtás: utasítások: a lap beolvasásakor eljárások.6. fájlrendszer kezelésénél a vírusirtó jelezhet! 7.htm. Kliensoldali programozás Az SP2 használata esetén engedélyezni kell az Explorerben az aktív tartalom futtatását a Sajátgép mappában található fájlokra (Eszközök/Internetbeállítások/Speciális/Biztonság).htm) Lásd még: http://msdn. bárhol lehet (!) Példa: JSFormazas. a Java (C++) logikáját. egyben érték is adható pl. Tankönyv: 58-64.microsoft. függvények.js bármilyen txt fájl tartalmazhatja. VBS − src: a linkelt kód URL-je − event. Üzenet megjelenítése minden parancsfájlhibáról (a lista végén) célszerő még: Microsoft VM. old.

–Kiss Zs.érték . „változókat” tárolunk benne. Példa: JSFuggveny.htm ellenırzés sztringként! Példa: JSPrompt2.érvényességi kör (domain név.htm toLocaleString: helyi idı formátumra alakítja (metódus!) Cookie-k használata Cookie: a kliens gépen tárolt ASCII fájl (karaktersorozat) tkp. „jelszó”. Szinte minden elem objektumnak tekinthetı. a böngészı fájlok esetén a szerver mappájához rendeli a URL-t (elérési utat) a fájlnévben is jelzi Az érvényességi idı után törlıdik (a böngészıbıl való kilépéskor) ha nincs érvényességi idı. ”kezdıérték”) Példa: JSPrompt.htm érték kiolvasása és változtatása a cookie-fájlból indexOf: az adott pozíciótól kezdve keres egy sztringben substring: sztringbıl kiemel rész-sztringet (kezdet. Math: matematikai függvények és konstansok eléréséhez Date: dátumok és idıpontok kezeléséhez Array: tömb (csak objektumként hozható létre és használható) Objektum létrehozása: objektumnév = new objektumosztály Példa: JSObjektum.: Internet-programozás 8 . a böngészı bezárásakor törlıdik Elérés szkriptbıl: document.htm A prompt függvény értéke sztring! Pl. path) . alert (elvész a visszatérési értéke). Mégse: nem kap értéket (null) JavaScript függvények Nem kell megadni a visszatérési érték és a paraméter típusát. 62-63. hogy felhasználhassuk egy elızı információcsere értékeit pl. XP: \Documents and Settings\felhasználónév\Cookies „Szabványos” tartalma: név . példa a mappában Win2000. parseInt függvényekkel Vezérlıszerkezetek Tk. Helye: Win98: \Windows\Profiles\felhasználónév\Cookies. A függvénydefiníciókat a HEAD-be illik tenni. meg lehet nézni!) JSCookie2 csak kiírja a cookie tartalmát (ugyanabból a mappából kértük le!) JSCookie3 megváltoztatja a jelszó értékét lépkedni a vissza-elıre gombokkal megnézni közben a cookie fájl tartalmát Érdekes példa: JSCookie4. nyelv stb.htm A függvény törzsében létrehozott változók lokálisak!!! JavaScript objektumok Elıre definiált és saját objektumok (lásd késıbb). 2004) Juhász T.cookie (tulajdonképpen a document objektum egy attribútuma) Példa: JSCookie1.Input prompt(”felirat”.htm értéket ad két változónak (a böngészı hozzáfőzi a cookie-fájlhoz. vég) parseInt: sztringet számmá konvertál megnézni a cookie-fájlt (új paramétert főzött hozzá az elızıekhez) Részletesebben lásd Juhász T.htm konverzió numerikus értékké: parseFloat.: JSPrompt1.: Tanuljunk programozni (ComputerBooks.htm OK: üres sztring lesz az értéke.érvényességi idı (kódolva) A weblap következı lekérésekor a böngészı elküldi a szervernek! a cookie a szerverhez tartozik. Önálló utasításként is állhat (C++). pl. felhasználónév. old Példa: JSCiklus.

újabban Visual Basic 2005 http://msdn. de az Explorer engedélyt kér a végrehajtáshoz! Eszközök/Internet beállítások/Biztonság hátrány: nem platformfüggetlen (↔ Java) Szintaxis − nem különbözteti meg a kis és a nagybetőket − nem kell pontosvesszı az utasítások után − utasítás folytatása a következı sorban: a sor végére szóköz és aláhúzásjel − több utasítás egy sorban: kettısponttal elválasztva (csak szükség esetén) − megjegyzések: aposztróf után a sor végéig (az aposztróf a sor elején is lehet) − meg kell adni a srcipt elemben a language attribútumot! Példa: VBDemo. class (java) 9. együtt tud mőködni más Windows alkalmazásokkal (!) használni tudja az ActiveX vezérlıelemeket fájlokat tud kezelni. az input/outputnál a területi beállításoknak megfelelı jel! Változó-típusok és konverziók: VBTipusok. virtuális gépi kód készül az interpreter alakítja át processzorkódra Java Applet (kisalkalmazás): a böngészı segítségével futó Java program nem kell interpreter. Java appletek Java: OBJEKTUMORIENTÁLT programozási nyelv (külön tantárgy) könnyő hálózatra programokat írni (hálózati erıforrások. A Visual Basic Script Dokumentumok: VBSdoc. intEgesz Lehet (illik!) deklarálni a változókat: dim változónév (nem tömb lesz!) Nem lehet megadni a változók típusát (sajnos!!!) az elsı értékadáskor lesz típusuk Formázás a FormatNumber függvénnyel (megadható a tizedesjegyek száma) Operátorok: Tk.htm.: Tanuljunk programozni (Computerbooks.htm.: Internet-programozás 9 . class (java) Példa: MouseEvent. adatbázisok elérése.htm összefőz számot szöveggel! a programkódban tizedespont. – Kiss Zs.zip Juhász T. html keret Az alábbi példák futtatásához a régebbi böngészıkben ki kell kapcsolni az Explorerben a Java 2 engedélyezését: Eszközök/Internetbeállítások/Speciális/Java Sun/Use Java 2 Példa: Grafika1.java forrásprogram → xx.microsoft. a böngészı hajtja végre korlátozott Java (nem képes fájl I/O-ra) böngészı nélkül: appletviewer xx. objektumalapú programozási nyelv (grafikus IDE).vbs) Változók használata Betővel kezdıdnek.htm a szkript másik fájlban is lehet (VBDemo1.com/scripting Visual Basic: teljes értékő. Nem kell deklarálni a változókat (sajnos!!!) Szokás: a változók típusának prefixumos jelölése. oldal.exe. VBSRef. Példa: VBValtozok.htm (a TypeName függvény visszaadja a típust) Juhász T. first. pl.com/vstudio/express/vb Visual Basic Script: a JavaScript-hez hasonló parancsnyelv a böngészı futtatja az ASCII kódú utasításokat kihasználja a Windows lehetıségeit. 2004) Lásd még: http://msdn. kommunikáció) elvileg rendszerfüggetlen.8.class (!) virtuális gépi kód. 61-62.microsoft.htm.

VBUzenet. elemfüggvények.: Internet-programozás 10 . 58. old. ikonok megadását és a visszatérési értékeket lásd: MsgBox. Paraméter2. Objektumok: azonosítóval (ID) ellátott elemek Azonosító.. old. gomb+ikon][. Leírás: 400 oldal (pl. Paraméter2.) − tartalmazhatják egymást (elemek) Juhász T.htm (elıre definiált konstansokat is használ) Adatbevitel Az InputBox függvénnyel. tulajdonságokkal (attribútum.Vezérlıszerkezetek Tk. egér stb.htm Eljáráshívás: Eljárásnév Paraméter1.htm Számok beolvasása: VBInputNumber.htm. old. VBMsgIkonok. Szintaxis: InputBox(prompt[. nagybetők a VBS-ben azonosak (JS-ben nem!!!) Objektumok − hivatkozni lehet rájuk − rendelkeznek adatokkal. old. vízszintes pozíció] _ [.htm. … Call Eljárásnév(Paraméter1. ”címsor”]) sortörés az üzenetben: Chr(13) & Chr(10) vagy vbNewLine a gombok. 1998) Az MS Explorer és a Netscape Navigator összehasonlítása: ExplorerNetscape.htm Példa: VBSzubrutin. Default: 1 pixel = 15 twips az objektumok rendelkeznek twipsPerPixel attribútummal a képernyı széléhez viszonyítja pozíció megadása nélkül középre rakja. default érték][. A Dokumentum Objektum Modell Tankönyv 57-58. elemváltozó) − tennivalókat tudnak végezni (metódusok.htm A DOM DOM: Document Object Model.htm (!) Szám vizsgálata az IsNumeric függvénnyel (logikai értéket ad vissza).htm. Microsoft Press. eljárások) − eseményeket tudnak kezelni (billentyőzet. VBInput. konténer) ciklusnál elınyös − betővel kell kezdıdnie − bető. twipit. hivatkozáskor üres sztringnek veszi). 64-72. …) Egy paraméter esetén a zárójel használatánál nem kell a Call (kifejezésnek tekinti. byref Példa: VBFuggveny. „Mégse” esetén Null-lal tér vissza (nem kap értéket a változó.0 Web Technologies Reference. szám és aláhúzásjel szerepelhet benne − kisbetők. Függvények és eljárások (szubrutinok) Alapértelmezett paraméterátadási mód: cím szerinti! byval.txt (elıre definiált konstansok) Példa: VBMsgBox. ID − egyedinek kell lennie az egész dokumentumban (különben nehezebb kezelni – kollekció. cím][. 62-63. 10.htm chr: kiírja az ASCII kódnak megfelelı karaktert. Példa: VBCiklus. függıleges pozíció]) A pozíciót twips-ben kell megadni (lásd Visual Basic. tk. érték szerint hívja!) Függvények is hívhatók eljárásként Az exit utasítással ki lehet lépni a szubrutinból (de nem illik!) Üzenet a felhasználónak − az alert függvénnyel (lásd JavaScript) − az MsgBox függvénnyel (eljárásként is hívható) szintaxis: MsgBox(”üzenet”[. Microsoft Visual InterDev 6.zip). Példa: VBInputBox.

mozgatás. méret. metódus pl. objektum-osztályok. bezárás.htm IMG tulajdonságok: Kep1. Ido.htm Az alapobjektumok attribútumai A document objektum tulajdonságai: Document. formázások megváltoztatása stb.htm.htm létrehozás: objektumnév = {tulajdonság1:érték1. a window-hoz tartozik. átméretezés. őrlapok stb. Background. Az objektumok tulajdonságai Attribútum. csak az esemény ideje alatt létezik.) általában kell neki ID. DocumentTitle. a hivatkozásnál elhagyható a window (pl alert ↔ window.htm A navigator objektum tulajdonságai: Navigator. írás a weblapra − body (maga a weblap.htm. az egyes egyedeik az objektumok. table. Attributum2. div. sor. elemváltozó. tr. hely. adattag. a hivatkozások színe stb. üzenet stb.htm. DocumentLastM. oszlop). − external: a böngészı objektumainak (külsı objektumok) eléréséhez − history: a felkeresett weblapok listája (elıre/vissza gombok) − navigator: a böngészı adatai − screen: a képernyı beállításai Saját objektumok Lásd késıbb. képek.htm A speciális objektumok attribútumai A screen objektum tulajdonságai: Screen. AlignImg.htm InnerText attribútum (!): Szoveg.: Internet-programozás 11 . szöveg. … } létrehozható konstruktorral is (nem tárgyaljuk) objektum stílusa: #objektumnév Juhász T.htm (style: további attribútumok!) Karakter-stílus attribútumok: Font. metódus pl. td (táblázat.alert) − document (általános beállításokhoz. span: bármilyen egységbıl objektumot képez! maguk az elemek tkp. a szövege. Felbontas. állapotsor szövege (!) stb.htm A window objektum tulajdonságai: Status.htm (!). input (őrlap és őrlap-elemek) stb.htm. ha hivatkozni akarunk rá tulajdonság pl.htm A HTML-objektumok attribútumai Align attribútum: AlignText. metódus pl. Kep2. tartalmazza a többit a böngészı hozza létre a lap megnyitásakor mindegyik keret egy újabb window objektum (leányablakok) tulajdonság pl.htm. head és body) ∈ window HTML-objektumok Szinte az összes elem.Alapobjektumok − window (gyakran a body-val hivatkozunk rá) a legmagasabb szintő objektum. mezı Lényegében megegyeznek a HTML-elemek tulajdonságaival saját tulajdonság is definiálható Példa: Attributum\Attributum1.htm (saját attribútum!) Az attribútumokat meg lehet változtatni: Attributum3. p (bekezdés). eseménykezeléshez) az ablakban megjelenı dokumentum tulajdonság pl.htm.zip-ben Saját objektumok Példa: Sajat. háttér és betőszín. tulajdonság2:érték2. Speciális objektumok − event: esemény.: img (kép). szöveg utólagos beszúrása.htm. form.htm a böngészık megkülönböztetését lásd: Browsers. cím (a címsorban) stb. body ∈ document (tkp. pl.htm (refresh!) Táblázat tulajdonságok: Tabla.

onKeyUp. elemfüggvény.htm. eljárástag A document objektum metódusai: Metodus\DocumentWrite. egyre följebb leállítás: cancelBubble = true példa: EventBubble1. majd lekezelése után tovább adódik.htm A következı példa elıtt célszerő kis méretőre állítani az Explorer ablakot: WindowMoveTo. TableDeleteRow.htm: kattintásszámláló onSubmit.htm. PInsertText2. az ablaknak) nélküle a böngészı visszaírná a saját állapotsor üzenetét új ablak nyitása! Az event objektum attribútumai (csak az esemény ideje alatt létezik!): XYonClick. melyek nincsenek explicit módon benne a kódban pl.htm. WindowResizeMove.htm: őrlapmezık tartalmának ellenırzése onBlur esemény: amikor a felhasználó elhagy egy őrlapmezıt hivatkozás az elem (objektum) azonosítójára: this. megszakítható az elküldés (Valasz. WindowScroll. onScroll.htm (nagymérető kép esetén követhetı) Internet kapcsolat esetén: onLoad1. konstruktor) Eseménykezelés Bármely elemhez (objektumhoz) rendelhetı eseménykezelı függvény példa: Esemeny\onClick1.htm TableDeleteCell.htm.htm return true: az esemény nem adódik tovább (pl.htm onKeyDown1.htm in-line: a HTML nyitó tagban. onClick4. ” (JS) vagy „ : ” (VBS) saját szubrutinnal: sub objektumID_esemény a VBS-ben. XYonMouseMove.htm) hivatkozás az őrlapmezı értékére!!! Valtogat.htm.htm.htm. objektumID.htm onMouseDownUp.htm.htm. EventBubble2.htm Eseménybuborék: az operációs rendszer az eseményt átadja a „legbelsı” objektumnak.htm) onUnload1.htm.htm: a Submit gombra kattintás. onResize2. onClick5.htm. egyetlen utasítás esetén) több utasítás elválasztása: „ .htm stb.htm.htm a dokumentum elkészítése után a write metódus törli a teljes tartalmat (lásd késıbb)! A window objektum metódusai: WindowAlert. onMouseOver. onMouseOut. onUnload2.htm (kétféle hivatkozás a window objektumra) onUnload: ablak bezárása vagy vissza/elıre gombok onResize1.htm DocumentWrite2.htm.htm onLoad.htm onKeyDown. window (a body-hoz is hozzá lehet rendelni) Példák eseményekre: onDblClick. függvény.htm.esemény a JS-ben közös szubrutinnal: több objektumhoz is hozzárendelhetı külön-külön minden eseményt fel kell tüntetni külön szkripttel: event=esemény for=objektumID egy szkript elem csak egy objektum egy eseményét tudja kezelni olyan objektumoknál is használható.htm.htm.htm.htm HTML-objektumok metódusai: PInsertText. csak ritkán alkalmazzuk (pl. WindowClose. eljárás.value focus().htm WindowResizeTo.Metódusok Metódus. onClick3.htm: tömb használata (csak a document. Saját objektumhoz is rendelhetı metódus (pl.htm Események hozzárendelése az objektumokhoz: Esemeny.htm WindowResize2.htm (ha még így is gyors: onLoad2. onKeyUp1. hagyható el) onBlur.htm Összetett példák: Szamlal.htm. onClick2. select(): visszaviszik a kurzort a beviteli mezıre és kijelölik a beírt értéket Juhász T.: Internet-programozás 12 .

com/downloads/list/webdev. példa: Links. setTimeout: adott milliszekundum múlva egyszer kiértékeli az adott kifejezést (meghívja az eljárást) hozzárendelhetı egy változóhoz.0 Indítás: \Program Files\Microsoft Visual Studio\Common\Ide\Ide98\Mse.microsoft. pixelTop: az objektum pozíciójának állítása (elérés a style objektumon keresztül) Lásd még: Bolyong1-3. random: véletlenszámot generál 0 és 1 között toString metódus (!): sztringgé alakítja a Number objektumot (!) a color stílus megadható az rgb() függvénnyel is Buttons.htm (NaN: not a number.Random.htm − images: a dokumentumban lévı képek.htm Beszur.: Internet-programozás 13 .exe (célszerő parancsikont készíteni) Az …Ide98\Mse\1038 mappában Asp.all) { utasítások az Explorernek } else if (document.htm clearTimeout: leállítja a setTimeout hívást.htm Explorer és Netscape megkülönböztetése: if (document. nem következik be az adott idı múlva példa: ClearTimeOut. különbségek. elıre) Kedvenc. history: navigálás a weblapok között (vissza.htm − links: a dokumentumban lévı linkek. JavaScript és VBScript referenciák (. nem szám) Kollekciók Kollekciók: konténerek (objektumokat tartalmaznak) Az objektumok az adott osztálynak megfelelı kollekcióba kerülnek számozás 0-tól kezdve Kollekciók: − all: az összes objektumot tartalmazza az elıfordulás sorrendjében length: a kollekció elemeinek a számát megadó attribútum item: az adott indexő vagy nevő objektumot visszaadó metódus tagName: az elem osztályának típusa példa: Kollekcio\All. Mozgohatter.htm nem ajánlatos az állapotsorba futó szöveget írni . de telepíteni kell [lásd: A) függelék] az Explorerben be kell állítani a parancsfájlhibák megjelenítését Hibás HTML-kód (vagy szkript esetén magától bejelentkezik): Mse\Hiba. problémák) Idızítı (timer) használata Külön szálat (folyamatot) indító/leállító függvények. A Microsoft Script Editor Az Office része. melynek segítségével le lehet állítani (VBS-ben kötelezı!) példa: SetInterval.zip fájlban (Mozgatas1-3.htm pixelLeft.idegesíti a felhasználót! További példák a CSS-nél említett Pozicio.htm) Debugger http://msdn.zip (böngészı azonosítása.htm rekurzív hívás!!! setInterval: adott milliszekundumonként kiértékeli az adott kifejezést (pl. függvényhívást) hozzárendelhetı egy változóhoz.asp 11.htm: véletlenszám generálás round: kerekít. és rákérdez az MSE elindítására a kurzor a hiba helyén villog Office 2000-ben Microsoft Development Environment 6.htm.layers) { utasítások a Netscape-nek } Megnézni: Browsers.chm fájlok) Juhász T. melynek segítségével le lehet állítani (VBS-ben kötelezı!) példa: Timer\SetTimeOut.htm: a window objektum history és location metódusainak használata location: a URL-t adja meg.htm: beszúr szöveget a Parag nevő objektum elé set: értékadás objektumnak IsNumeric. StatusTimer.htm. Html.htm: a böngészı objektumainak elérése Calculator.htm clearInterval: törli az adott változóhoz tartalmazó setInterval-t (leállítja a kiértékeléseket) példa: ClearInterval. a hibát. példa: Images.htm kiírja a hibás sor számát.

0” ?>) feldolgozási utasításként adjuk meg Dokumentum-típusdeklaráció: <! … > (lásd késıbb) Feldolgozási utasítások az XML-processzor számára: <? … ?> (lásd késıbb) megjegyzések: <!-.) − Adatbázisok megjelenítése (rendezés. fehér karakterek tetszés szerint Jól formázott XML dokumentum (szintaxis) − Egyetlen dokumentum-eleme van − Az utoljára megnyitott elem zárul be elıször (egymásba vannak skatulyázva) − Minden elemnek van nyitó és záró tagja (kivéve az üres elemnek) − A nyitó-tag típusa (neve) pontosan megfelel a záró-tag nevének (megkülönbözteti a kis. tartalom.0 Indítás: \Program Files\Microsoft Office\Office10\Mse7.és nagybetőket!) Az Internet Explorer jelzi a formátumhibákat: InventoryBak. old. Source. Auto Hide eszköztárak stb. kotta. záró-tag Név: betővel vagy aláhúzásjellel kezdıdik.” IntelliSense: a pont után megjelennek az attribútumok és metódusok – folytatható a gépelés A kezdıbető lenyomásával rááll a keresett betőre Példa: MseScript.Net-ben) Dokumentumok: XMLRef. XML: tartalom Olvasható. betőket. fejezetek stb. Súgó fájlok: …\Office10\1038\Mse10. fülek) File/New File (New.htm 12.xml (az elsı hibát jelzi ki) Juhász T.). számokat.zip Michael J. 43-49. benne Microsoft Script Editor 10.oasis-open.0) pl. BODY. − Saját tagok használata (bıvítés pl.value=”A gombra kattintottál.) XML-applikációk (szótárak): http://www.chm. QuickView nézetek Properties eszköztár (pl.html#applications − Hierarchikus felépítéső dokumentumok megjelenítése (pl.) Document/DefaultClientScript: JavaScript Script Outline (Source View): BED az OnClick-re: text1. egymásba ágyazott részek. ASCII-kód Egyre inkább az internetes kommunikáció inputja. kötıjelet (-) és aláhúzásjelet (_) tartalmazhat − Feldolgozási utasítások − További megjegyzések. szőrés stb. bgColor. matematikai kifejezések.chm.) HTML: forma. text stb.exe Jelentısen megújult (Microsoft Development Environment 7.Office XP-ben Microsoft Script Editor 10. Vbscript.chm. <? xml version=”1. Recent) Toolbox-ból TextBox-ot. Extensible Markup Language. pontot (. pénzügyi információáramlás stb.: web-szolgáltatások a .0.jelekkel tömöríthetı a megjelenítés – hierarchikus szerkezet − Prológus: XML deklaráció és verziószám (pl. keresés. Button-t föltenni Abszolút pozícionálás: Format/Absolute Positioning (elıtte kijelölni az elemet) Design. Young: XML lépésrıl lépésre (!) Az XML dokumentumok szerkezete Példa: Inventory.org/cover/xml.: Internet-programozás 14 . Existing. a HTML továbbfejlesztése. az SGML egy szőkített megvalósítása. Htmlref.chm Nem mőködik az IntelliSense??? Az MSE használata Dokkolható eszköztárak (az ablak széléhez ragadnak): Windows/Dockable XP: rajzszög (autohide. bıvíthetı struktúrált adat (információ) leíró nyelv.… --> − Dokumentum-elem (gyökér-elem): egyetlen elem! Egymásba skatulyázott elemekbıl áll Nyitó-tag (neve a tag típusa). Az XML alapjai Tk. a tagba kattintani a Source nézetben. outputja (lásd pl.xml – az Internet Explorer kilistázza (raktárkészlet) +/. Jscript.

felsorolt típus: a deklarációban felsorolt értékekkel rendelkezhet stb.dtd Beillesztés: <!DOCTYPE dokumentumelemnév SYSTEM ”fájl_URI”> A fájl lehet a lokális gépen vagy az Interneten bárhol dokumentumelemnév: a hivatkozáshoz szükséges Entitások az XML dokumentumokban Entitás: nagyon sokrétő értelme van (pl. Külsı DTD Különálló fájlban szerepelnek az elem-deklarációk (csak azok!) Txt fájl. a többit figyelmen kívül hagyják. az <? xml … ?> az XML-processzornak szól Saját szkript számára pl.) – hivatkozni lehet rá lényegében a konstansoknak felelnek meg. sztring.: <![CDATA[ Itt már állhat < és & karakter is ]]> − feldolgozási utasítás − megjegyzés Az elemek attribútumai Pl. &. (STAR* | PLANET): az elem tartalmazhat akárhány STAR leányelemet vagy egy PLANET elemet A módosító karakterek a zárójel után is elhelyezhetık. tokenizált típus: ID (egyedi minden elemre). * (egy sem. nem lesz ilyen attribútuma) Egy elem attribútumdeklarációjának ismétlıdésekor (pl. #IMPLIED: ha nincs megadva az elemnél. &author.: Internet-programozás 15 . egy vagy több) Pl. külsı fájl stb. <BOOK Category=”fiction” Display=”emphasize”> vagy <COVER_IMAGE Source=”Faun. …). elemnév. (STAR | PLANET)+ Az attribútumok deklarálása Formátum: <!ATTLIST elemnév attribútumdefiníciók> Attribútumdefiníció: attribútumnév attribútumtípus default-deklaráció Típus pl. Példák entitás-deklarációra (a DTD-ben): <!ENTITY topics SYSTEM ”Topics.. szokásos kiterjesztés: . választható leányelemek: (elemnév | elemnév | …) Módosító karakterek: ? (egy vagy egy sem).xml”> <!ENTITY title ”A Short History of XML”> Juhász T.) − CDATA (karakteradat) szekció (ez már tetszıleges karaktereket tartalmazhat a ]]-et kivéve).) − Karakter-referencia (pl. ]]) − Általános entitás (pl. külsı DTD esetén) az elsı deklaráció lesz az érvényes.Az elemek tartalma − Beágyazott elem − Karaktersorozat (kivéve a következı karaktereket: <. karakterek (parsed character data): (#PCDATA). pl. sztring: CDATA. vagy &#60. A default deklaráció az az érték melyet az attribútummal nem rendelkezı elemek vesznek fel. pl.: <? MyScript argument1=”abc” argument2=”45” ?> Dokumentum-típusdeklaráció (DTD) A dokumentum szerkezetét írja le Helye a prológusban az XML deklaráció után Formája: <!DOCTYPE a_dokumentum_elem_neve [ elemdeklarációk ] > Elemdeklarációk Formátum: <!ELEMENT név a_tartalom_típusa> A tartalom típusa pl. leányelemek: (elemnév. ENTITY (külsı fájl neve) stb. tetszıleges: ANY.gif” /> – üres elem! CSS használata esetén az attribútumok nem jeleníthetık meg (a kép sem) Feldolgozási utasítások Formátum: <? Cél utasítások ?> Pl. &lt. + (egy vagy több). (Lehet #REQUIRED: minden elemnél meg kell adni az attribútumot.

az XML dokumentumok tartalmazhatnak HTML-elemeket is.xml.htm Hierarchikus szerkezető rekordok (minden rekord további beágyazott rekordokat tartalmazhat) Egymásba ágyazott táblázatokkal A beágyazott táblázathoz a DSO-t és a beágyazott rekordokat is hozzá kell kötni (DATAFLD) Példa: InvertoryHierarchy. Érvényes XML-dokumentumok Egy XML-dokumentum érvényes. Raven. InventoryHierarchy.htm Lapozás a táblázatban A TABLE elem DATAPAGESIZE (rekordszám) megadásával és firstPage(). az XML-t kell letölteni! Feldolgozási utasítás a prológusban: <? xml-stylesheet type="text/css" href="InventoryStyle. InventroyTable. az XML igen!!! Névterek használata Az XML dokumentumok elemeinek neve tetszıleges lehet (megegyezhet pl. a DATAFLD az egyes cellákban lévı SPAN elem attribútuma TD-hez nem köthetı adat. lastPage() metódusaival (ID-t kell adni a TABLE elemnek!) Példa: InventoryBig. InventoryBigTable. data source object) tárolja a memóriában. InventoryInvalid.xml. pl. previousPage(). a < jel esetén: &#60.css display:block sortörés az elem elıtt és után display:none nem jeleníti meg az elemet A CSS nem különbözteti meg a kis.xml.css Az XML dokumentumok adatainak megjelenítése Adattárolás: XML.xml. InventoryStyle. SPAN-hez! (TD: szerkezet.xml.css" ?> Példa: InventroryStyle. SPAN: tartalom) Annyiszor ismétli a sorokat.htm.w3c. nextPage(). </TITLE> Karakter referenciák pl. vagy &lt.: Raven.és a nagybetőket. megjelenítés: HTML Az XML fájl csatolása a HTML-hez az XML elemmel (a HTML fájlban).xml”></XML> Az SRC értéke lehet bármilyen URI hivatkozás (http://… is) Megjegyzés: a HTML fájlban nem lehet lezárni az üres elemet <XML … /> módon! Az Internet Explorer: az XML dokumentum tartalmát rekordok halmazaként (recordset) egy adatforrásobjektumban (DSO. pl.: <XML ID=”dsoBook” SRC=”Book. InventoryValid. forma.: Internet-programozás 16 . pl. HTML elem használata esetén: xmlns:html=’http://www.Hivatkozás: <INTRODUCTION> &topics.xml Az érvényesség ellenırzése: ValidTest. csak pl.htm Juhász T.org/TR/REC-html40/’ Így pl. ha − Jól formázott − A prológus dokumentum-típusdefiníciót (DTD) tartalmaz − A dokumentum további része megfelel a DTD-nek Az Internet Explorer nem ellenırzi az érvényességet Példa: InventoryValid.xml. Megjelenítés táblázattal Egyszerre az összes rekord megjelenítése vagy lapozás Teljesen azonos szerkezető rekordok A DATASRC a TABLE elem. ahány rekord van (de csak egyszer kell beleírni a HTML kódba) Példa: Inventory. </INTRODUCTION> … <TITLE> Title: &title. HTML elemek nevével is) Megkülönböztetés: névtér használatával (namespace) Szintaxis: névtér_neve:elem_neve A névteret használat elıtt deklarálni kell.xml A BODY elem XML tagjába be kell írni az XML fájl nevét Megjelenítés stíluslapokkal Nincs HTML fájl.

password. #comment (megjegyzés) stb. APPLET. BUTTON. InventoryBig. pl.: Internet-programozás 17 .htm.xml − a getElementByTagName metódussal: GetElements.fields(”TITLE”).: <BOOK><AUTHOR Born=”1835”>Mark Twain</AUTHOR> … </BOOK> hivatkozás: mintha beágyazott mezı lenne (beágyazott táblázattal. IMG. entitások stb. InventoryDom.htm. jobban alkalmazkodik az XML szerkezetéhez (minden összetevı elérhetı. elem (az egyes elemek). A csomópontok listázása: ShowNodes.value megengedett rövidítése Keresés pl. movePrevious. #document (az egész XML dokumentum).xml Adatok kötése más elemekhez Adat köthetı a következı elemekhez: A. feldolgozási utasítások stb. hogy az XML dokumentum mely elemére vonatkoznak a stílus-elıírások („/” a gyökér-elem) Juhász T. megjegyzések. MARQUEE. egyébként -1) − Recordset(”TITLE”): a recordset. pl. move(n) – a rekordok számozása 0-val kezdıdik Példa: InventorySingle. INPUT (type = checkbox. LABEL. Inventory. attribútumok. text).xml Attribútumok megjelenítése a táblázatban A rekord-elem attribútuma esetén pl.htm.htm.Megjelenítés rekordonként Rekordonként (egyszerre csak egy rekord megjelenítése). elemek. Inventory.) Szkripteket is tartalmazhat Csatolás az XML dokumentumhoz: <? xml-stylesheet type=”text/xsl” href=”XSLpath” ?> XSLpath akárhol lehet (az Interneten is. az eredeti tartalom: $TEXT) Példa: InventoryAttribute.xml (nagybetők!) XSL stíluslapok használata Extensible Stylesheet Language (kiterjesztett stíluslap-nyelv) – az XML egy applikációja Az XML dokumentumok közvetlen megnyitása HTML-kód nélkül Sokkal hatékonyabb és rugalmasabb a CSS-nél. InventoryBig.htm.xml. TEXTAREA Példa: InventoryImage. de csak ugyanabban a domain-ben!) Az XSL alapján a böngészı átalakítja az XML dokumentumot HTML-kódba (az XML-t kell letölteni!) Az XSL dokumentum tartalma − egy dokumentum-elem (gyökér-elem) a névtér megjelölésével (xmlns): <xsl:stylesheet xmlns:xsl=”http://www. attribútumok.: <SPAN DATASRC=”#dsoBook” DATAFLD=”AUTHOR”></SPAN> Navigálás a DSO objektum recordset kollekciójának metódusaival: MoveFirst.: <BOOK InStock=”yes”> … (mezı-elemek) … </BOOK> hivakozás a DATAFLD attribútummal: <SPAN DATASRC=… DATAFLD=”InStock”></SPAN> Beágyazott mezı-elem attribútuma esetén pl. attribútum. Visszatükrözi az XML eredeti hierarchikus szerkezetét A hierarchikus szerkezet elágazási pontjai a csomópontok (nodes). FRAME. „of”-ra Az XML Dokumentum Objektum Modell Csak nagyon röviden tárgyaljuk DOM: az XML különbözı komponenseinek objektumai Elérhetık az elemek. hidden. ez jelöli ki. InventoryAttribute. SPAN.xml A htm fájl BODY-jába kell beírni a feldolgozandó XML-fájl nevét Az elemek elérése: − a childNodes kollekcióval: DomDemo. IFRAME.htm Szkriptek használata Az adatforrás objektum (DSO) programozása A recordset attribútumainak és metódusainak használatával Példa keresésre: InventoryFind. feldolgozási utasítások. DIV. moveNext. InventoryImage.org/TR/WD-xsl”> − legalább egy sablon-elemmel (template) a gyökér elemben: <xsl:template match=”/”> a match attribútum a CSS szelektorának felel meg az attribútum értéke a minta (pattern).w3. moveLast.xml − ToUpperCase(): így tetszılegesen írható be a keresett sztring − InnerHTML: formázott megjelenítés a HTML-kódnak megfelelıen − MoveFirst(): elölrıl kezdi a keresést (a rekordmutató állítása) − MoveNext(): a következı rekordra áll a mutató − IndexOf(SearchString): a keresett sztring kezdıpozíciója (ha megtalálta. SELECT.htm. megjegyzések. radio. pl.

Szolgáltatások: Webes közzététel (Elindítva) Az MMC (Microsoft Management Consol) Start/Futtatás/mmc Új modul hozzáadása: Fájl/Beépülı modul hozzáadása.− xsl:value-of elemek: a select-tel megjelölt XML-elem tartalmát reprezentálják (a leányelemekkel együtt) meg kell adni az elérési út operátorát az XML-en belül. SMTP.: Internet-programozás 18 . mappák. Alapértelmezett webhely. -: csökkenı sorrendben). XslFilterSort. Server.exe: leállítja.xml Szőrés és rendezés Szőrés: a select elérési útjába írt [elemnév = ’tartalom’] szőrıvel Rendezés: az xsl:for-each elem order-by attribútumával (+: növekvı.xsl. pl. pl. Célszerő beállítani a Win2000 szervert applikációs szerverként (fájl-szerver helyett) Start/Beállítások/Hálózati és telefonos kapcsolatok/Helyi kapcsolat/Tulajdonságok: Fájl.xsl. XslAttributes. XslDemo. Az Internet Information Server XP: IIS 5. A szerverre default telepíti. Windows 2000 Professional. szüneteltetés) Tulajdonságlapok: Webhelyek.xsl. Mővelet/Az összes feladat/Konfiguráció biztonsági mentése/visszaállítása (#: sorszám) default könyvtár: \Windows\system32\inetsrv\MetaBack a fájl más gépen nem használható Parancssori adminisztráció Iisreset.xml Az XML attribútumok elérése A @ karakterrel Pl. menüparancsok neve stb. gyökérkönyvtárba) célszerő parancsikonként kitenni az asztalra Szerverek: a gép ablakában (indítás.: select=”AUTHOR/@Born” vagy select=”INVENTORY/BOOK[@InStock=’yes’]” Példa: XslAttributes.és nyomtatómegosztás/Tulajdonságok: Átvitel optimalizálása hálózati alkalmazásokra Csak a szerveren állítható (Professional változaton nem) Az IIS adminisztrálása A Win2000 és az XP kissé eltér (feliratok. de újabb kapcsolatot nem nyit Default értékek az összes webhelyre (öröklıdnek): a Webhelyek mappa tulajdonságlapján A konfiguráció mentése/helyreállítása: a gép kiválasztása. FTP. NNTP Telepítés: lásd A) függelék.) Start/Vezérlıpult/Felügyeleti eszközök: IIS. Egyedülálló/Hozzáadás/Internet Information Services kilépésnél mentés (pl.: Példa: XslFilterSort. a 2003-as szerver a 6-os verziót tartalmazza. fájlok Egyéb lehetıségek: − tartalomelavulás engedélyezése (Tulajdonságok/HTTP-fejlécek) − a tartalom minısítése (Tulajdonságok/HTTP-fejlécek) az Internet Explorer tartalmi tanácsadója használja fel − weblapok láblécének megadása (egy mappa tulajdonságlapján a Dokumentumok fülnél) Leállítás és indítás: a webhely gyorsmenüjében (vagy az eszköztárban) váratlan leállások esetén célszerő az újraindítás elıtt szabályosan is leállítani szüneteltetés: az aktuális kéréseket még teljesíti.1 (némileg eltér a 4-estıl).xml 13. Paraméterek: /restart megállítja és újraindítja az összes Internet-szolgáltatást (default) /status megjeleníti az Internet-szolgáltatások állapotát /help felsorolja a lehetséges paramétereket Távoli adminisztráció Engedélyezni kell a kliens IP-címét (default: localhost) a tulajdonságlapon a Könyvtárbiztonság fülnél Juhász T. leállítás.: „BOOK/TITLE” csak egy elem tartalmát adja át a böngészınek − xsl:for-each: az összes elem tartalmát átadja az elemen belül a select-ben megadott elérési út lesz az aktuális − az XSL-ben lévı HTML-kódot a böngészı közvetlenül átmásolja a készülı weblapra üres elem lezárása! Példa: XslDemo. XP Professional Ismeri: HTTP. majd újraindítja a szolgáltatásokat.

Default. XP: Távoli asztal). saját operátorok (webhely felügyelık). index. amíg nyitva van az IIS-konzol − http://dns-név/iisadmin kliens IP-címének engedélyezése az IISADMIN virtuális könyvtár tulajdonságlapján − a Microsoft Terminálszolgáltatások segítségével (szerveren engedélyezni. Az alkalmazás elindul.aps (installáláskor elkészül). default ASP-nyelv stb. és leáll. egy alapértelmezett dokumentum. egy szerveren egy külön webhely a felhasználók weblapjai számára. (külön adminisztráció) A telepítésnél létrejön egy webhely: az Alapértelmezett webhely (XP-n csak ez) A Win2000 szerveren még a Felügyeleti webhely is (a távoli adminisztrációhoz) A Win2000 Professional/Win XP változaton csak egy webhely létezhet (maga az alapértelmezett webhely) Új webhely létesítése: a gép kiválasztása. Állomásfejléc neve/értéke Egy webhely: egy Home-könyvtár. ezzel lehet rá hivatkozni Felhasználás: összetett webhely esetén a különbözı részekre rövidebb URL-lel lehet hivatkozni A webalkalmazás (applikáció) Webalkalmazás: egy adott mappához tartozó fájlok. Virtuális könyvtárak A Home-könyvtáron kívül lévı könyvtárak is a Home-könyvtár alá rendelhetık Másik gép megosztott könyvtára is lehet Létrehozás az MMC-vel: Mővelet/Új/Virtuális könyvtár Létrehozás az Intézıvel (csak NTFS fájlrendszernél): egy mappa Webmegosztásával Alias: rövid név (az elérés út helyett). amikor az elsı felhasználó lekér egy weblapot (!). Juhász T. végrehajtási engedélyek.htm (gépnév helyett localhost is lehet) A webhelyek felépítése Webhelyek (web-sites) Webhely: egy DNS-névvel (~IP-címmel) és egy port-számmal azonosított mappa (a tartalmával együtt) Egy IIS-szerver (a Windows szerveren) több webhelyet is létre tud hozni (virtuális web-szerverek) egy DNS-név. kliensen telepíteni. hozzáférés-szabályozás stb.htm.Net installálása után más típusú szervereken gyakran: index.asp − http://dns-név:port-szám szükséges hozzá a felügyeleti Webhely TCP-port száma a felügyeleti Webhely tulajdonságlapján. Dokumentáció: c:\Winnt\Help\TermSrv. egy eseménynapló.chm Dokumentumok publikálása Másolás a c:\InetPub\wwwroot mappába (a lokális hálózaton megosztható!) Példa: IIS\Szevasz. Speciális. Webhely/Webhely azonosítása. több IP-cím: regisztrálni kell (egy hálózati kártya is elegendı) több DNS-név. és újra letölteni. Default.asa(x) fájl. a Kezdıkönyvtár fülnél (célszerő megváltoztatni) A default weblap Default sorrend: Default.chm.htm-et.aspx default.asp. átmásolni a Default. Létrehozás: Mővelet/Új/Virtuális könyvtár (virtuális könyvtár lesz belıle!) A webhely egyben egy webalkalmazás is.htm iisstart. TermCli. alkalmazásvédelem. véletlenszerően választja az installáláskor kliens IP-címének engedélyezése a felügyeleti Webhely tulajdonságlapján nem mőködik.aspx – a Dot. sávszélesség szabályozás.: Internet-programozás 19 . alkönyvtárak összessége (a webhelyen belül) pl. egy IP-cím: különbözı port-szám – nem szükséges regisztrálni több DNS-név. amikor a web-szerver leáll. egy IP-cím: a HTTP fejléc host mezıjét használja a megkülönböztetésre – regisztrálni kell a DNS-neveket – SSL alatt és régebbi böngészıknél nem mőködik – Webhely tulajdonságai. Mővelet/Új/Webhely A Kezdıkönyvtár (Home-könyvtár) Egy webhely – egy Home-könyvtár Logikailag a webhely gyökérkönyvtára (virtuális fıkönyvtára) – nem lehet „feljebb” lépni Fizikailag: a szerver-gép egy alkönyvtára egy megosztott könyvtár a lokális hálózat valamelyik számítógépén (elérési jogok állítása) átirányítás egy másik URL-re (a Könyvtár fülnél a tulajdonságlapon) az átirányítás almappákra vagy fájlokra is elıírható (az itt megadottat tölti le a böngészı) A DNS-névvel (lokálisan a szerver nevével is) azonosítható (+ port-szám) Változtatás: a webhely tulajdonságlapján.Dokumentáció: http://DNS-név/iishelp/iis/misc/default.htm(l) változtatás a webhely tulajdonságlapján (Dokumentumok) Példa: http://gépnév.htm lekérés: http://gépnév/Szevasz. egy-egy felhasználó egy-egy alkalmazás Egy alkalmazás: egy Global.

Szerkesztés/Kezdıkönyvtár/Konfiguráció/Folyamatbeállítások Biztonsági beállítások Webszerver: IUSR_gépnév (nem a kliens!!!) – a névtelen felhasználóknál alkalmazza A home-könyvtárra célszerő csak Olvasás jogot és Csak parancsfájlok végrehajtási engedélyt adni. gyakori a PERL használata (. . Szerveroldali programozás Az alábbi példákban szereplı fájlok csak a web-szerverrıl letöltve mőködnek.Az alkalmazások adminisztrációja Végrehajtási engedélyek Tulajdonságok/(Kezdı)Könyvtár − nincs: sem programok.: Internet-programozás 20 . törlése stb.#exec cgi=/scripts/guestbook. melyek a CGI interface-en keresztül kapták meg a paramétereket A CGI programok gyakran a cgi-bin (vagy bin) mappában vannak (végrehajtási jog kell) Lehet .cgi. . módosítása. Tk.pl kiterjesztés) Perl: sztringek kezelésére kifejlesztett nyelv (interpreter kell hozzá.inc (include) Egyéb SSI-lehetıségek Pl.stm. CGI programozás Common Gateway Interface: adatcsere a böngészık és a szerveren futó programok között Régebben az őrlapok kéréseinek kezelése külön programokkal történt.exe) ha elszáll az alkalmazás.#include file | virtual =”elérési út/fájlnév” --> file: relatív elérési út esetén (az aktuális könyvtárhoz viszonyítva) virtual: teljes elérési út egy virtuális könyvtárból (alkalmazás home-könyvtárából) kiindulva Kiterjesztés: .shtm. 73-84. Lásd az IIS dokumentációját.exe?FirstName+LastName --> Egyéb lehetıségek WebDAV: egy kliens menedzselheti a saját web-applikációját a HTTP 1. de a webszerver nem áll le − magas (elszigetelt – izolált): külön folyamat az alkalmazás számára (külön DLLHost.1 protokoll segítségével adminisztráció (engedélyek). HTTP: összeköttetésmentes protokoll − a szerver elküldi a kliensnek a HTML fájlt a tartalmától függetlenül − a böngészı külön-külön kéri le a benne lévı képeket stb. .exe) ha elszáll egy alkalmazás.shtml (jelölni kell a szervernek!) Az SSI fájlokat célszerő külön könyvtárba rakni (engedély: Csak parancsfájlok vagy Parancsfájlok és végrehajtható fájlok) javasolt kiterjesztés: . sem szkriptek végrehajtását nem engedélyezi − csak parancsfájlok: csak a szkriptek (ASP) végrehajtását engedélyezi − parancsfájlok és végrehajtható fájlok: szkriptek és bináris fájlok (.exe.exe. . fájlok másolása. elszáll a többi is. Server Side Includes Fájlok beillesztése a weblapokra Több helyen felhasznált HTML-kód vagy szkript esetén: <!-. elszáll a szerver is (nem célszerő alkalmazni) − közepes (készletben lévı): egyetlen folyamat az összes alkalmazás számára (DLLHost. 14. néhány webszerver tartalmazza) Juhász T. old. applikáció vagy parancsfájl futtatása (output: a weblapra): <!-. Szükség esetén törölni kell a proxyt az Internet Explorer beállításaiból.dll) végrehajtását is engedélyezi célszerő külön mappába tenni (bin) és arra megadni Alkalmazásvédelem Tulajdonságok/(Kezdı)Könyvtár − alacsony (IIS-folyamat): a web-szerver (IIS) folyamatában (Inetinfo.exe) csak fontos alkalmazásokra célszerő elıírni (erıforrás-igényes megoldás) Állítható a CGI fájlok idıkorlátja (Win2000) a gép tulajdonságlapja.

Tulajdonságok/Kezdıkönyvtár/Konfiguráció/Beállítások) Lásd még: ASP_Guide.c) a szerveren a cgi-bin mappába kell másolni végrehajtható fájlok engedélyezése a cgi-bin könyvtárra (és a Home-könyvtárra??? – öröklés nélkül) lekérni a szerverrıl a Gomb. helyette: IIS. tartalom: asgovr. Csak a web-szerverrıl letöltve mőködnek! A szkripteket interpreter dolgozza fel (↔ aspx) Tiszta HTML-kódot küld vissza a kliensnek (a szerveroldali szkriptek megjegyzéseit is eltávolítja)! Default nyelv a szerveren a VBS (beállítás: mmc. MsgBox stb.asp lapon többféle nyelv is használható.asp statikus a szöveg (nem programozható) nehéz áttekinteni lassúbb. szerveroldali objektumok Active Server Pages (ASP) Tk. szerveroldali szkriptek A mappára engedélyezni kell a parancsfájlok végrehajtását.htm (a Nemzetközi Őrállomás aktuális pozíciója) – cgi fájl a szerveren! periodikusan frissíti! CD-n lévı nem mőködik (változott a URL!). old. nem használható az InputBox. <%@ language=VBScript %> (nem állhat szóköz az egyenlıségjel egyik oldalán sem) Általában nem eseményvezéreltek (kivéve a Global. Linux: például php Microsoft: asp (IIS ismeri) JavaScript.htm fájlt − a GET és a POST metódusok összehasonlítása: GETUrlap.htm Szerveroldali szkriptek In-line: <% … %> tagok között néhány utasítás esetén használjuk. végrehajtja a rá vonatkozó szkripteket Az így létrejött elemeket beilleszti a szkriptek helyére (a felhasználó nem kapja meg a szkriptet) a kliensoldali szkriptek megmaradnak Elınyök: − a szkriptek függetlenek a kliensprogramoktól (és platformoktól) − rejtett szkriptek (szerzıi jogok) − csökkenthetı a letöltendı dokumentumok mérete Unix. Csak a szerveroldali objektumokat éri el! Egy .asp (szerverre felmásolni.asp Még hatékonyabb megoldás: Koszon3. és onnan lekérni!) forráskódot megnézni Külön szkriptben: <SCRIPT> elem RUNAT=server attribútummal általában eljárások.htm figyelni a címsorra és a content-length-re Érdemes megnézni a webszerver eseménynaplóját \Windows\system32\LogFiles\W3svc1 (Commanderben F4-gyel!) Szép példa: IIS. más elemekbe is beírható!!! pl.asp (több helyen is felhasználható a sztring) Juhász T. kliensoldali szkriptek. POSTUrlap.asa-t. lásd késıbb) pl. 74-76. <%= … %> (output direktíva) beírja az adott karaktersorozatot a HTML-kódba Példa: Elso. a szerver továbbítja a kliensnek Példák: − a környezeti változók értékének megjelenítése: Cgi_env.htm Szerveroldali szkriptek A szerver elıször végigolvassa a HTML kódot. VBScript nyelven. üzenetek a szervernek a feldolgozás módjára vonatkozóan pl. A szkriptek elhelyezése Keverve a HTML-kóddal: Koszon1.htm.zip. HTML-elemek. PASCAL: getenv (DOS unit) A választ (általában HTML dokumentum!) a standard outputra kell küldeni. függvények kötelezı megadni a language attribútumot! ASP direktívák: @ után.exe (forráskód: Cgi_env.: Internet-programozás 21 . Lásd még: IIS Documentation Tartalmuk: szöveg.A paraméterek elérése: QUERY_STRING környezeti változóból (szerver) standard inputról (objektum). mintha egybe lenne fogva (egyetlen SCRIPT elemben) Elkülönítve a HTML-kódtól: Koszon2.

Count ’ az elemek száma a kollekcióban For lngItem = 1 To lngCount Response. azonosító: kulcs a kollekció objektumainak lehetnek attribútumaik Hivatkozás: objektum.zip.Write Session.asp célszerő a változók kötelezı deklarációját elıírni az <% Option Explicit %> utasítással eljárásokban.Write Session.Contents. kollekciók. item. while (!myCollection.zip. de az változhat beszúrásnál vagy törlésnél Iteráció a kollekcióban A példák a Session objektumban tárolt összes változó (attribútum) kiírását mutatják be.txt redirect: átirányít egy másik weblapra. index helyett névvel lehet hivatkozni az elemekre). Lásd még: IIS Documentation Attribútumok. vagy ha egyértelmő: objektum(„név”) pl.item().moveNext(). 80-81.Contents). old. Információküldés a felhasználónak (írás a készülı HTM fájlba). lngCount lngCount = Session.Cookies(„allat”) vagy Request(„allat”) – nem célszerő! Hivatkozni lehet az elem indexével is (1-gyel kezdıdik). 75. Metódusok: write: szöveget ír a készülı fájlba.Contents(strItem) & ”<br>” Next For … Next: a Count attribútum felhasználásával Dim lngItem. Kollekciók Lényegében konténerek („tömbök”.Write(Session.Contents(x) + ”<br>”) myCollection. 76-84.asp (HTML-tag attribútuma változó az ASP-kódban! Megnézni a letöltött forráskódot!) − Feladat5-4. moveNext Példa: var myCollection = new Enumerator(Session. Dokumentumok: Objektumok. ResponseWrite. old. lásd még a Session objektumnál.) − Valtozok. Global.atEnd()) { var x = myCollection.: Internet-programozás 22 . For … Each … In: az Each iterátor alkalmazásával Dim strItem For Each strItem In Session. } Response Tk. átirányítás. cookie-k kezelése stb.Write) Hívás: − az eljárás nevével (az argumentumlistát nem szabad zárójelbe tenni) − call eljárásnév (az argumentumlistát zárójelbe kell tenni) Call-lal hívhatók VBS függvények is.Contents(lngItem) & ”<br>” Next a JavaScript-ben célszerő lokális változóval helyettesíteni az lngCount-ot a ciklusfejben A JS Enumerator objektumával: sorra veszi a kollekció elemeit Metódusok: at End.kollekció(„név”).Megjegyzések az ASP eltávolítja a %> és a <% közötti fehér karaktereket! Példa: Szokoz. a visszatérési értéket nem veszi figyelembe. csak eljáráson belül szükséges (egyébként <% = … %> vagy egyszerően elég a szöveg) pl.asp (szerveroldali szkript változói a kliensoldali szkriptben!) Szerveroldali objektumok Tk. metódusok. old. tk. Juhász T. Request. függvényekben deklarált (vagy értéket nyerı) változók lokálisak! Eljárások Nem használható bennük az output direktíva (helyette: Response. Példák − Bruhaha.asp (szerveroldali változó felhasználása. Response.Contents Response. moveFirst. Tömbök átadása: üres zárójelekkel Beilleszthetık az #include direktívával is.

zip Példa: Szamlal.UnLock %> . 83-84. Lásd késıbb Egyéb objektumok Pl.Contents. 81-82. 79.txt Server Tk. Szintaxis: <% set SajatObjektum=Server.asa fájlnak az alkalmazás Home-könyvtárában kell lennie. eseménykezelés a Global. ASPError: hibakezeléshez.0 verziójától kezdve nem elérhetı). ?v1=aa&v2=bb). ApplVar2. Application_OnEnd. lásd az IIS dokumentációját. old. ha HTML forráskódot akarunk megjeleníteni: <% Response. . old.Expires="2001-12-31" %> Request Tk. Kollekciók: tk.txt a Global. ContentType: pl.Cookies("allat").: Internet-programozás 23 .asp Kollekciók: pl. akkor a régi tartalom törlıdik példák: Cookies. Form és QueryString: lásd késıbb. ServerVariables: szerverváltozók értékei (leírás: Objektumok. Unlock: a változók értékadásának idejére <% Application.. Alkalmazásszintő változók létrehozására alkalmas: <% Application(”Udvozlet”) = ”Üdvözlet a weblapomon” %> <%= Application(”Udvozlet”) %> – akármelyik weblapról elérhetı Példa: ApplVar1. Contents (a szkriptek által az alkalmazáshoz adott változókat és objektumokat tartalmazza) Application. saját kód alkalmazása: <% Response. lásd: Global. Kapcsolattartás a web-szerverrel. Status: a HTTP válaszkódjának megváltoztatása. old. Ezt az alkalmazást eddig <%= Application(”NumVisits”) %>-szor nézték meg. Lásd még: Application. − a szerverváltozók elérése − GET query sztringje − POST paraméterei − cookie-k − kliens hitelesítése (certification) stb. cookies cookie küldése: <% Response.asp elküldeni egy query sztringet (pl. old.RemoveAll: a kollekció minden elemét törli Események: Application_OnStart.Remove(”strSzoveg”): törli az strSzoveg nevő változót Application.zip Session Tk.Status = "555 Saját kód" %> Kollekciók: pl. Fıleg szerveroldali ActiveX objektumok létrehozásához a CreateObject metódussal. old.asp. a lap letöltéseinek számlálása (az IIS 6. lásd késıbb).CreateObject(”komponensnév”) %> Beépített ActiveX komponensek: Components.zip-ben) szerverváltozók kiírása: SrvVar.Contents. 76-79.asp.asa fájlban (lásd késıbb) Metódusok: Lock. 82-83.Lock Application(”NumVisits”) = Application(”NumVisits”) + 1 Application. frissíteni (QUERY_STRING) SessionID-t megnézni (http_COOKIE.Attribútumok: pl. .txt (include direktíva!!!) Cookies: cookie: azonosítóval (kulcs) ellátott karaktersorozat a szerver küldheti a kliensnek. Application Tk. Juhász T.Cookies("allat")="elefant" %> <% Response. példák szerverváltozók használatára: SValtozok.ContentType = "text/plain" %> pl. vagy fordítva (dinamikus weblap is tárolhat a kliensen cookie-t) a kollekció segítségével a cookie-k értéke beállítható és lekérdezhetı ha már volt cookie ilyen azonosítóval.

akkor hibás érték esetén a figyelmeztetés után újra lejön az őrlap (egyébként a felhasználónak a Vissza gombbal kéne visszamenni az őrlapra): GetEmail. Létrejön az alkalmazás elsı asp lapjának lekérésekor Véletlenszerő karaktersorozat Juhász T.Abandon %>. vagy nem frissíti az eddigit (default: 20 perc.asp (az ékezetes karakterek kezelését ld.htm. hiányosan kitöltött rovatok esetén hibásan mőködik − asp küld adatokat saját magának: Form2. beállítás az mmc-n az alkalmazás tulajdonságlapján a Könyvtár/Konfigurációnál) a default értéket nem célszerő túl hosszúra venni (erıforrásigényes) a default érték beállítható a szerveroldali szkriptben is: <% Session. ha − egy új felhasználó lekér egy asp (!) lapot.Timeout = 5 %> A munkamenet explicit lezárása: <% Session.txt (példák a használatra) − QueryString. Korlátozott a teljes sztring hossza (a routerek redukálhatják a URL méretét) Példák: − Qstring. ha a felhasználó az elıírt idı alatt (Timeout) nem kér újabb lapot. QueryString.QueryString kollekció A kérés URL-jében a ? utáni sztringgel (query-sztring) tér vissza A GET metódusnál használjuk (kézzel – szkriptben is beírható a query-sztring) A Query_String rendszerváltozót helyettesíti A kollekciót könnyebb elérni. htm fájl küld adatokat asp-nek 2.asp az iterátorváltozó (x) használható a HTML kódban! Ha az asp saját magának küldi a választ. és egy speciális fájl (Global. on-line vásárlásnál a kosár tartalmának követése Megoldás: Session objektum + azonosító (ID) a kliens számára azonosító a cookie-ban (ha nincs engedélyezve. A Request.asp probléma: nehéz áttekinteni az összetartozó fájlokat.asp (kipróbálható az ékezetes karakterek átadása) − Etel.htm. Resp.: Internet-programozás 24 . 76-78.htm. amit a szerver cooki-ban leküld a kliensnek. Kapcsolatállapot engedélyezése A SessionID Minden Session kap egy egyedi ID-t.asp probléma: hiányosan kitöltött rovatok esetén hibásan mőködik − rejtett mezık használata: Form3. a következı példában) − Koszon. hogy ugyanarról a munkamenetrıl van-e szó.htm. asp küld adatokat egy másik asp-nek 3. old. a lejárati idın túl küldi vissza) A munkamenet befejezıdik. nem követhetı a munkamenet) Egy munkamenet (session) létrejön felhasználónként. ezért hibaüzenettel leállna on error resume next: hiba esetén kihagyja a hibát okozó utasítást (itt az IF-et) a következı utasítás végrehajtásával folytatja (itt az őrlap elkészítésével!) − az összes név-érték pár kiíratása: Form4.asp (több azonos nevő paraméter kezelése) Lásd még: Tk. könnyebb adatokra szétválasztani. pl „Kilépés” gombhoz rendelve Munkamenetek tiltása: − szerveroldali szkriptben: <%@ EnableSessionState = False %> (egy asp lapon) − az alkalmazás konfigurációjában Tulajdonságok/Kezdıkönyvtár/Konfiguráció/Beállítások. asp küld adatokat saját magának (!) A Request.Kommunikáció a klienssel Form-ok adatainak kezelése: 1.asp elıször még nincsen „rejtett” nevő mezı. majd az újabb kérések esetén ellenırzi.) Példák: − htm fájl küld adatokat asp-nek: Form1. Valasz.asa-ban létrehozott objektumra − kérés érkezik egy a szerveren nem létezı SessionID cookie-val (pl. indexelés stb.asp A munkamenetek (Sessions) HTTP: állapotnélküli protokoll (nem emlékszik az adott felhasználó/kliens elızı kérésére) probléma pl. Lista.Form kollekció A POST metódusnál használjuk (nem korlátozott a méret) A QueryString-hez hasonló a kezelése (hivatkozás.asa) tartalmaz egy Session_OnStart eseménykezelı eljárást − egy asp szkript értéket tárol a Session objektumban vagy hivatkozik egy a Global.

asa fájl Munkamenet vagy alkalmazásszintő változók.txt Juhász T. a kérések fejlécében küldi vissza egy másik asp lap lekérésekor is ugyanazt az ID-t használja amíg nem lép ki a böngészıbıl.asp" aktualisLap = Request. Nem lehet utólag törölni már elkészült részeket.End %> Példa: Rbuffer. 0. ha lejárt a default idı) tárolás hosszabb idın keresztül: a cookie expiration date-jének segítségével A szerver a memóriában tárolja ha szükség van rá a késıbbiekben. addig ugyanazt az ID-t használja (akkor is.asa tartalmazza az alkalmazás-szintő objektumokat is (pl. A kód pufferelése A szerver sorra végrehajtja az asp-lap szerveroldali szkriptjeit.és nagybetők megkülönböztetése ' nélkül. Redirect.Buffer attribútum True-ra állításával (alapértelmezés: True).: Internet-programozás 25 .asa fájlban <SCRIPT RUNAT=Server Language=VBScript> Sub Session_OnStart kezdoLap = "/MyWeb/Elso.Clear : … : Response. Ehhez pufferelni kell a készülı lapot a Response.Clear metódus hívásával A puffer tartalmának elküldése a kliensnek: a FLUSH metódusal (folytatja az asp feldolgozását) az END metódussal (abbahagyja az asp feldolgozását) A feldolgozás leállítása és a puffer elküldésének letiltása: <% Response. Session_OnEnd Példa: a felhasználó átirányítása az alkalmazás kezdı weblapjára (ha nem azt tölti le elıször.txt): ’ szkript a Global. Engedélyezés/tiltás: <% Response. Response.Redirect(kezdoLap) ' átirányít az adott weblapra. eseménykezelı szkriptek tárolása Az alkalmazás gyökérkönyvtárába kell tenni (egy alkalmazásnak csak egy Global. adatbáziskezelésnél). End If End Sub </SCRIPT> Átirányítás esetén a Redirect metódus hívása után szereplı egyetlen utasítás sem lesz végrehajtva! A Global. age) van egybıl SessionID! A Global. kezdoLap.asa fájlja lehet) Az alkalmazás eseményei: Application_OnStart.Buffer = True | False %> Az utasítás az asp fájl elsı sora legyen (ne kezdje el elıtte összeállítani a lapot)!!! A puffer törlése: ha a lap elkészült a Response. Application_OnEnd.ServerVariables("SCRIPT_NAME") ' a lekért weblap URL-je If strcomp(aktualisLap. 1) Then ' összehasonlítja a két sztringet a ' kis. objektumok. akkor adatbázisban kell tárolni A Session objektum A Session objektumban az adott felhasználóra vonatkozó adatok tárolhatók a munkamenet idıtartamára <% Session(”Nev”) = ”Kovács János” %> Kedves <%= Session(”Nev”) %> Többszöri használat esetén célszerő lokális változóhoz rendelni (értékadás) Példák: Session. Példa: <script language=VBS runat=Server> Sub Application_OnStart Application(”NumberofVisitors”) = 0 End Sub </script> Munkamenet események: Session_OnStart. és elkészíti a HTML-kódot. ha egyenlık.A kliens böngészıje tárolja (cookie).asp: session-szintő változók létrehozása (username.

még tovább tagolódhatnak Teljesen minısített név (q-név.és adatbázis hozzáférés − Kliens-alkalmazások Web-hozzáférése (Web-szolgáltatások) Névterek használata Az operációs rendszer függvényeinek (és a felhasználói függvényeknek) azon halmaza. attribútumok) Az öröklés a nyelvek között is mőködik! Verziókezelés A kódhozzáférés szabályozása (pl. 20 nyelvre (Microsoft: Visual Basic. Internetrıl letöltött programok esetén) Biztonsági házirend az assembly-k számára (jogok XML-ben megadva) \Windows\Microsoft. eltőnnek a különbségek Fordítóprogramok kb. karakterláncot másképp kódolnak) Öröklés a továbbfejlesztésnél nem alkalmazható − Különbözı platformok − Memóriaszivárgás (hosszú ideig futó kiszolgálók.NET – Hogyan tudta Isten 6 nap alatt megteremteni a világot? – Nem kellett gondoskodnia a lefelé kompatibilitásról Tankönyv 85-88. Ennek használatával a kód bármely részébıl meghívhatunk egy függvényt. Az operációs rendszer objektumai és függvényei a System névtérben vannak dll fájlok a \Windows\Microsoft. Problémák a Windows és az Internet programozásában: − Több mint 5000 különálló függvény (pl.exe pl. hogy mikor törölhetı egy objektum COM objektumok beburkolása: NET objektumnak (és viszont a COM-ügyfelek számára) Strukturált kivételkezelés (hibakezelés): információk egy hibakezelı objektumban A programfuttatás folyamata: A programbetöltı átadja a felügyelt kódot a CLR-nek A CLR meghívja a JIT fordítóprogramot A JIT gépi kódra fordít A CLR végrehajtja a gépi kódot Szükség esetén ismét meghívja a JIT-et. általában helyettesíti a destruktor hívását Bonyolult algoritmusoknál nehéz áttekinteni. nem a gépies kódolással) − Egyszerő telepítés − Egyszerő Internet.Object ısosztályból származnak Alárendelt névterek. C#. fájlhozzáférés) Megoldás: − Forráskód → fejlesztıeszköz → felügyelt kód (MS IL: Microsoft Intermediate Language) Független a forráskód nyelvétıl. fully qualified name): az egymásba ágyazott névterek sorozata (minısítı elıtag) + a függvény neve.15. A Microsoft . Névtér importálása: használatával elhagyható a minısítı elıtag Juhász T. Jscript. hogy tárolja a gépi kódot (nem kell ismételt hívásnál újra fordítani) Megvalósítás: . pl. „alert”) − COM (1993) komponensek: elıre gyártott objektumok. függvények Függ a programnyelvtıl (pl.config fájlban (XML!) Automatikus memóriakezelés (szemétgyőjtés).NET\Framework\verziószám mappában Az objektumok a System. melyen belül minden névnek egyedinek kell lennie. a számítógép-szintő beállítások a Config\Machine. más okozta a hibát) − Digitális bizonyítvány a letöltéseknél: letöltöm vagy nem Jelenleg a legtöbb programot a webrıl telepítik (többet.NET\Framework\verziószám\ConfigWizards. mint CD-rıl) Nem lehet korlátozni a letöltött kódot (pl. hogy fordítsa le az igényelt DLL-t is Megadható.: Internet-programozás 26 . old.NET keretrendszer (framework) – CLR és osztálykönyvtár − Könnyő és gyors programírás (az algoritmussal kell foglalkozni. C++) Teljeskörő objektumorientált nyelvek (Visual Basic is) − CLR (Common Language Runtime): nyelvfüggetlen futtatórendszer Futtatáshoz: futtatás elıtti fordítás (JIL: just-in time compiler) A DLL-ek is IL-ben vannak (az osztályok és metódusok leírása: metaadatok formájában) Névterekbe rendezett osztálykönyvtár (metódusok. web-szerverek) − Verziókezelés hiánya Új telepítések DLL-jei felülírják a régit Emiatt egy másik alkalmazás nem fog mőködni (jóval késıbb derülhet ki) Nehéz a felderítés (a mi programunk jó lenne.

exe A Microsoft Visual Studio.hu → FTP szerver. ActiveX objektumok felhasználása stb. Microsoft .microsoft. #End Region direktívákkal kinyitható. csatlakozás adatbázisokhoz. konzol. nyomtatási kép. Saját vezérlıelemek fejlesztése. VC++. maximális hardverigény 4. generációs (vizuális) fejlesztıeszköz Windows-.microsoft. Juhász T. Visual Web Development 2005 Express Edition http://msdn. eljárás stb. több fájl is tartozhat egyhez (logikai egység) Az assembly Az alkalmazáshoz tartozó EXE és DLL fájlok logikai győjteménye Helyettesíti a regisztrálást! Erıforrásokat és metaadatokat tárolnak (az IL moduljai) Tartalomjegyzék: manifeszt (azonos fájlban az erıforrásokkal vagy külön fájl is lehet) Kezelés az SDK-val Osztott használatú assembly-k a globális assembly gyorsítótárban (GAC. illetve Microsoft Visual Studio 2005 (http://msdn.com/vstudio/) − ingyenes változatok : Visual Studio Express Edition (VB. a CLR.) magától hozzáadja A tervezést segítik az elıre elkészített stíluslapok. komponensek A konfiguráció állítása: Vezérlıpult/Felügyeleti eszközök (mmc-re felvehetı) Letöltés: http://msdn.campus. JIL stb. CD-vel A web-projekt Web-modell: alkalmazások vannak a web-szerveren (külön IP címekkel vagy egy-egy virtuális könyvtárban).Net Framework Wizards A fejlesztıi rendszer (SDK) Telepítés: osztálykönyvtárak.NET keretrendszer (az operációs rendszer bıvítése) és fejlesztıi rendszer − Microsoft Visual Studio. utility) hozhatók létre a fejlesztés során.NET Fekete könyv (Perfact-Pro Kft. megyei könyvtár) 7 CD (postán is megrendelhetı). CLR. csak az applikáció fájljaira mutat A Visual Studióban különözı projektek (web. nekünk nem kell! CD: \Programok\DotNetSDKsetup. Visual C#. SQL-server. VJ#.Net).NET (IDE). eszköztárak.és Windows-alkalmazások írásával (lásd: Visual Basic) Az integrált fejlesztıi környezet IDE (Integrated Development Environment) Dokkolható eszköztárak IntelliSense Szintaktikus hibákat aláhúzza Region. Tartalmazza az osztálykönyvtárakat. navigáció) és minták (themes) használata stb. komponenseket. licenszigazolás kérhetı telepítés 2 óra (!?). global assembly cache): \Windows\assembly\GAC Privát assembly: a dll az ügyfélalkalmazás könyvtárában van (nem kell regisztrálni) Máshonnan nem hívható 16. Microsoft . A programfuttatási és fejlesztıi környezet Részei: − . Menük.. webszolgáltatásokhoz stb. VC#.Net Framework Configuration. Konfiguráció állítható: Vezérlıpult/Felügyeleti eszközök.NET Framework Keretrendszer. oldal Letöltés: http://www. sablonok (templates). becsukható egy adott kódrészlet Strukturális egységekhez (ciklus. JIL stb. Lásd: Steven Holzner: Visual Basic . A Visual Studio a projekt segítségével kezeli az applikáció (alkalmazás) fájljait A projekt fájl nem tartozik hozzá a webhez.NET 2003 Tankönyv 89-95. az installálást lásd az A) függelékben. adatbázis.microsoft. 2002). Visual C++ Nem foglalkozunk a konzol. Szoftverletöltések – fájlok csak az NIIF tartományaiból (pl.Saját névterek: fájlonként több is lehet. szerkezetek (layouts.com/netframework/downloads/updates 131 MB.(parancssori) és webes alkalmazások létrehozása Beépítve: Visual Basic (.com/vstudio/express − (Web Matrix) A .: Internet-programozás 27 .

vagy létrehozható egy új solution-nal együtt. események) Az esemény a kliensoldalon következik be. old. formázás.aspx Web-őrlapok szintaxisa: http://samples. adatbázisok. a visszaküldött weblap generálása Vezérlıelemek használata a nyers HTML-kód írása helyett (Visual Studio) − Hitelesítés (authentication) és engedélyezés (authorization) − Felhasználói munkamenetek (session) kezelése. − Elkülöníti a HTML kimenetet és a programozott eljárásokat (mögöttes kód!) − Automatikusan kezeli a HTML-szerkezeteket − Lehetıvé teszi objektumorientált alkalmazások fejlesztését − Jelenleg: VC#. az eseménykezelés a szerveren történik!!! A kimenet egy HTML-kód.gotdotnet.NET egy programozói keretrendszer. pl. adatbáziskezelés) Intelligens/integrált fejlesztıi keretrendszer (IDE) Objektumok felhelyezése az egérrel (automatikusan generálja a kódot) HTML-szintaxis helyettesítése tulajdonságlappal A web-őrlapok (aspx) futtatása − A böngészı elküldi a kérést a szervernek − Az IIS betölti a futtatómodulba − A futtatómodul lefordítja az oldalt (JIT fordítás) – a lefordított kód tárolása további kérésekhez − A futtatórendszer betölti a lefordított osztályt és létrehozza a mögöttes kód objektumát − A mögöttes kód létrehozza a vezérlıelemeket − A vezérlıelemek elıállítják az aktuális állapotnak megfelelı HTML-kódot! − A weblap elküldése az ügyfélnek.aspx HTML. Az ASP. Web-őrlap vezérlıelemek referenciája (HTML és szerveroldali vezérlıelemek): http://samples.A webalkalmazáshoz tartozó projektek összessége a solution weblapok. VC++ Eszköz: web-őrlapok használata (web-form) Web-őrlapok Olyan keret weblapok.com/quickstart/aspplus/doc/webformssyntaxref. megjelenítés Juhász T. nehéz áttekinteni Az ASP. Elemei objektummodelt alkotnak – hivatkozni lehet rájuk (attribútumok. amely megkönnyíti a szerveroldali programozást. amit a kliensnek küld el! A bennük lévı kód az elsı lekéréskor lefordításra kerül – megmarad a szerveren Beállítható egy folyamat maximális futási ideje (memóriaszivárgás. Solution → Projects → Items (fájlok) A továbbiakban csak a webalkalmazásokkal foglalkozunk. metódusok. VB.gotdotnet.aspx kiterjesztéssel. amelyeknek a segítségével a web-szerver dinamikus weblapokat tud létrehozni.com/quickstart/aspplus/doc/webcontrolsref. fejlesztıi eszközök Web-projekt felvehetı egy létezı solution-ba. 17. ASP. módosítás − A beküldött adatok fogadása. ASP. VJ#. lekérdezés.NET Tankönyv 96-106. A weblap programozása a Windows-alkalmazások programozásához hasonlít Text fájlok @Page direktívával és .: Internet-programozás 28 . összeomlás ellen) Beépített szolgáltatások az alkalmazásfejlesztéshez (biztonság. bevásárlókosár nyilvántartása Az ASP hátrányai: − Bonyolult feladatokhoz nehéz alkalmazni − Keveredik a HTML-kód és a szkript.NET Statikusan tárolt weblapok kezelése (HTML): A felhasználó beírja a URL-t a böngészıbe A böngészı elküldi a kérést a kiszolgálónak A kiszolgáló megkeresi és visszaküldi a kért fájlt A böngészı megformázza és megjeleníti az oldalt Dinamikusan generált weblapok (ASP): A felhasználó beírja a URL-t (vagy kitölt és elküld egy őrlapot!) A böngészı elküldi a kérést a kiszolgálónak A szerver az adatok alapján (általában adatbázis-kezeléssel) létrehozza a kért oldalt A böngészı megformázza és megjeleníti az oldalt Feltételek: − Adatbáziskezelés.

médiakeresık) egyediek Webszolgáltatás: a webes ügyfelek számára hozzáférhetıvé tett . Kikapcsolás: az EnableViewState attribútum False-ra állításával. helyesírásellenırzı stb.vb fájlok. lefordítva dll fájlok a bin mappában Protokollok: GET.config. SOAP SOAP: XML-típus a függvényhívások és paraméterátadások leírásásra (Simple Object Access Protocol) Az .Szerveroldali vezérlıelemek (web-vezérlıelemek) Tankönyv 97-102. Megnövekedett szám.): a __VIEWSTATE rejtett vezérlıelemben kódolva (munkamenet – session kezelés). mobiltelefon) Jelenlegi rendszerek (vírusirtók frissítése. más által megírt függvényt A weben található szolgáltatások beleépülnek a programba (pl. mérlegkészítés) Nem PC-alapú hardver használata (pl.NET objektum (webmethod attribútum) Public és private metódusok is lehetnek benne Egy adott gépen futó program meg tud hívni egy máshol lévı. konfigurációs fájlok (web. Web Matrix: inline-kód (lehet mögöttes is). global. TableRow. rendezés! Repeater ismétlı adathalmaz (dataset) rekordjainak megjelenítéséhez DataList adatlista Repeater formázási és tördelési lehetıségekkel ChexBoxList. funkciók.asmx fájlt kéri le Aszinkron hívás lehetısége (nem kell várni az eredményre) A webszolgáltatás leírása: WSDL (Web Service Descriptor Language) Automatikusan elıáll a kód alapján (!) Lekérés: fájlnév. cella létrehozása Szintaxis: <asp:vezérlıelem_név attribútumok> … </asp:vezérlıelem_név> Képesek a böngészı típusának meghatározására – ehhez illesztik a kódot (pl. Juhász T. sor.: Internet-programozás 29 . downlevel böngészık Az öröklés segítségével saját vezérlıelemek is készíthetık. POST. Az ASP. 18. Webszolgáltatások Adatküldés ügyfélprogramoknak (a böngészık helyett – túlságosan korlátozott felület) Nem a szervernek kell megformáznia a megjelenítést Felhasználói felülettel nem rendelkezı programok is bekapcsolódhatnak (pl.NET Adatbáziskezelı szolgáltatások a web-őrlapokon Lásd késıbb. szerkesztés. SQL szkriptek. jelölınégyzet stb.) Eszközök: HTTP protokoll. A Web Matrix Egyszerősített fejlesztıi környezet az ASP. programozási lehetıségek Teljeskörő objektumorientált programozás Például: DropDownList legördülı lista választás listáról vagy szöveg beírása (↔ ListBox) Image kép grafika megjelenítése Calendar naptár dátum választásához Panel panel más vezérlıelemek tárolásához DataGrid adatrács megjelenítés táblázatos formában. assembly-k. A vezérlıelemek állapotának tárolása Beviteli vezérlıelemek (szövegmezı. XML sémák és dokumentumok. vezérlıelemek.asmx és . adatrács stb. Web-szolgáltatások. XML kódolás . készítése Visual Studio . old. stíluslapok.Net/2005 inkább nagyobb léptékő. alkalmazzák a DHTML-t – kliensoldali szkripteket) Toplevel.): a szerver automatikusan visszaküldi az eredeti állapotot (postback data) a HTTP fejrészében Megjelenítési vezérlıelemek (címek.NET további lehetıségei Lásd: C) Függelék.asmx?WSDL ADO.NET-hez Aspx fájlok. RadioButtonList: jelölınégyzet és választógomb lista az elemek csoportba szervezéséhez Table.TableCell: új táblázat. team-munkához való (project-alapú megoldások) Visual Studio: mögöttes VB-kód.asax) stb.

All nézet Menüsor Edit: − Add Snippet: a kijelölt kódrészletet a Toolbox-ba teszi − Edit Tag: az aktuális tag külön ablakban szerkeszthetı (Design nézet.Net SDK-hoz (ha installálva van) és az online MSDN . HTML.HtmlControls névtérbıl Web Controls: szerveroldali vezérlıelemek a System. Code. Framework kell rá) A legfontosabb menüparancsok a menüsor alatti két eszközsorban láthatók (pl.Net referenciaoldalakhoz − freeware program!!! Az integrált fejlesztıi környezet (IDE) Elindítani a Web Matrixot (Start menü). Start: ►) On-line keresı! Az Editor ablak Design: a dokumentum látványa HTML: a tagok és a szövegek Code: a kódok (szkriptek) All: a lap-direktívák.NET Framework összes névterének összes osztálya (BED megnyitja a leírását) Önállóan a Start menübıl is megnyitható Community: Web Matrix linkek Juhász T.Web. gyors installáció − igénytelen a hardver és szoftver környezettel szemben − saját (lokális) web-szerver − szőkített lehetıségek (hiányzik pl.UI. JEK a tagra) − Edit Templates: a DataList vezérlıelem esetén (lásd késıbb) − Comment Selection: a kijelölt részt megjegyzéssé alakítja (HTML és Code nézet) View: − Start (F5): a böngészıben mutatja meg a lapot (lásd késıbb!) − Toolbox (F2): ki/be kapcsolja a Toolbox-ot − Glyphs: ki/be kapcsolja a „horgonyokat” (nem látható elemek. van Auto Format is) Classes: a . illetve <span> konténerbe helyezése Workspace: − New Project parancsikon: FTP-kapcsolat felvétele a Workspace ablakba (távoli szerverhez. Classes. Beállítások: JEK a Toolbox-ra (pl.Web Matrix: − 1 Mbájt installációs fájl − könnyő. új fájl a wwwroot-ba. Community) Properties: az aktuális elem tulajdonságai és eseményei (Design nézet) BED beilleszt egy üres eseménykezelıt (a szerveroldali eseményekre) Property Pages ikon: összetett kontrollok esetén (pl.Net Framework referencia.WebControls névtérbıl Custom Controls: saját (vagy „külsı”) vezérlıelemek tárolására My Snippets: saját kódrészletek tárolására (fájlba exportálhatók és importálhatók) Code Wizards: varázslók speciális blokkok létrehozásához (Code és All nézetben) Mozgatással az Editor ablakba helyezhetık. de a parancssor segítségével létrehozható − nincs beépített . Snippet-ek átnevezése) A „Project” ablak (Workspace.UI.Web. DataGrid) megnyitja a tulajdonságlapot (Propery Builder. de teljes listát ad az osztályokról. linkekkel a . Editor ablak: Design. táblázat beszúrása. tárolt eljárások) Open Windows: váltás a megnyitott dokumentumok között A „Properties” ablak (Properties. kijelölt rész <div>. az objektumok listája) − nem készít automatikusan assembly-t. Átkapcsolás: Tools/Preferences/Web Editing A Toolbox HTML Elements: szerveroldali vezérlıelemek a System. pl.: Internet-programozás 30 . Open Items) Workspace: JEK-kel új fájl létrehozására is használható (Add New File/Folder) Data: kapcsolódás SQL vagy MSDE szerverhez (táblák kezelése. FORM) − Grid: a rács ki/be kapcsolása az abszolút pozícionáláshoz Layout: − Absolute Position: abszolút pozícionálás ki/be kapcsolása (növeli a HTML-kód hosszát!) HTML: − Hiperlink. a HTML és a Code együtt Klasszikus megjelenítés (csak Source és Preview fülekkel): Preview módban. Data.

mert újra nem tudja elindítani. ha már fut (ugyanazon a port-számon) 19. tulajdonságok (pl. mindegyikben az osztályokat és az interfészeket Egy-egy tag kiválasztásánál megadja a statikus mezıket.config config magyarázat a benne lévı megjegyzésekben XML File xml <?xml … ?> utasítással XSL Transform xslt xsl stíluslap gyökérelemmel XML Schema xsd XML-séma (XSD) gyökérelemmel ASP.BackColor. Az elsı Start parancsra (F5) indítható el. Minden új lapnál meg kell adni a nyelvet (VB. Fájltípusok a Web Matrix-ban Az új fájlok sablonjai a \Program Files\Microsoft ASP.NET HTML Handler ashx definíciós keretekkel. logout lapok és a hozzájuk szükséges konfigurációs fájl készítése Web Services szekció: példák Web-szolgáltatások készítéséhez A Web Matrix web-szervere Csak lokálisan használható (a Sajátgépen). wwwroot).NET Page. 8080: proxy port – ezt ajánlja fel). Textbox. metódusokat és eseményeket. Style Sheet css üres BODY{} szelektorral Global. URL!). Button web-kontrollok elhelyezése (új sorba) – megnézni HTML nézetben.Text: Köszönj! (az ID is átírható) Eseménykezelés BED a gombra. Properties Label1. Meg kell adni hozzá az osztály nevét és a névteret Class File vb vagy cs osztálydefiníció kerettel. a többi szekció fájljai már kódot is tartalmaznak.vb lenne). New Item – fıleg így! ASP.NET Web Matrix\verzió\Templates mappában (felülírhatók!) A (General) szekció fájljai általában üres keretek. Web-őrlapok kezelése Web-őrlapok Új web-őrlap készítése File/New vagy JEK a Workspace ablakban a megfelelı mappára (pl.: Internet-programozás 31 . Installálni kell hozzá a Microsoft Mobile Internet Toolkit-et (MMIT). Output Caching szekció: példák a szerver terhelésének és az adatforgalomnak a csökkentésére Security szekció: login. TextBox1. A Visual Studio esetén kérhetı a kód elkülönítése (Koszonj. Juhász T.NET User Control ascx @Control direktívával HTML Page htm üres head és body elemmel XML Web Service asmx felülírható minta Public Fuction kerettel. lekérdezését.asax asax applikáció és session-szintő üres eseménykezelıkkel Web. átvált Code nézetbe. Filename (Koszonj. tulajdonságokat. Meg kell adni hozzá az osztály nevét és a névteret.Text & "!" Az All nézet ellenırzése.Text: Írd be a neved!. leállítás. Kezelés: JEK a tálcán az ikonra Home-könyvtár megnyitása böngészıben.Az Objektum-böngészı Megnyitás: BED egy osztályra a Classes ablakban Megnyitható külön a Start menübıl is! Listázza a névtereket. le kell állítani a Web-szerverét. Text File txt üres textfájl SQL Script sql üres fájl egy SQL megjegyzéssel Data Pages szekció: adatbázisok listázását. és beszúr egy üres onClick eseménykezelıt (két argumentum): Label1. Language kijelölése Teljes képernyıs megjelenítés: BEK a címsorra * a fájlnév után: nincs mentve. konstruktorokat. Ha kiléptünk a Web Matrixból. Button1.aspx. újraindítás. A Class definíciójában meg kell adni a ProcessRequest eseményt és az IsReusable tulajdonságot.Text = "Helló " & TextBox1.NET lap aspx szerver-oldali form-mal ASP.aspx). Label.NET vagy C#) (General) szekció ASP. Megadható a port (80: szokásos Web-szerver port. Location. módosítását végzı őrlapok (lásd késıbb) Mobile Pages szekció: mobil oldalak létrehozása (HTML vagy WML).

: Internet-programozás 32 . a választott dátum: " & Calendar1. Új webszolgáltatás létrehozása JEK a wwwroot mappára. Eseménykezelı: Label1. a szerver hajtja végre és küldi vissza XML-ben az eredményt! Bemutatja a SOAP.aspx.Text = "Helló " & TextBox1. létrejön egy leíró lap (Kivon. Szoftverek összekapcsolása. információcsere az Interneten. Layout/Absolute Position Hosszú lesz a kód! A Web-őrlapok megjelenítése Megjelenítés a böngészıvel Mentés. 105-106. Service Description: a formális definíció XML-kódja Ki lehet próbálni (BEK: kivon). Name Space: Sajat Meg kell adni az osztályt és a névteret is! A létrejött lapon szerepel egy példa (Add) Átírni kivon-ra. Class: AlapMuvelet. old. Egyéb lehetıségek A Page osztály és a Page objektum Lásd Tk. meghagyható a default.Text & _ ". A WSDL informálja a klienseket a szolgáltatás használatáról. Példa: Koszonj1.SelectedDate Mentés. XML Web Service név: Kivon.asmx) WSDL: Web Sevices Description Language. IIS-re) a Web Matrix szerverének leállításával. javítani a mőveletet Mentés a wwwroot mappába. Megnézni a HTML kódot (Naptar. Auto Format). A WSDL elérése: http://localhost/Kivon. Koszonj1. Generate Assembly tetszıleges. Start. Ilyen néven létrehoz egy virtuális könyvtárat az IIS-en. old. Az IIS használata Átváltás más Web-szerverre (pl. meg kell adni az Applikáció nevét. Cancel Juhász T. old. nagyon sok tulajdonsága állítható (van pl. 103-104. OK. Mögöttes-kód használata Tk.Abszolút pozícionálás Az elem(ek) kijelölése. Add New Item. a lap most a SajatKod osztályból származik Célszerő importálni a felhasznált névtereket (így nem kell a teljesen minısített nevet használni) A saját osztályt a Page osztályból kell leszármaztatni (hatóköre: Public!) Változóként deklarálni kell azokat a vezérlıelemeket. Ezek fogják tárolni a saját osztályainkat és a metódusokat. Start a Web Matrix szerverével (tulajdonságok.aspx). Calendar Web-kontrollt. Webszolgáltatások készítése Tankönyv 141-146.asmx). frissítés. ami az adott mappára mutat. Visszatérés a Web Matrix Web-szerverére csak a program újraindításával. melyekre a kódban hivatkozunk WithEvents: az objektum eseményeit is átveszi 20.vb A kód hozzákapcsolása az aspx fájlhoz: a @Page direktíva Inherits és Src attribútumaival. Start az IIS Virtual Root alapján. BEK: Generate. a HTTP GET és a HTTP POST protokollal a használatát A webszolgáltatás fordítása Tools/WebSevice Proxy Generator (az asmx lap bezárható) WSDL URL: az asmx lap teljes URL-je (http://localhost/kivon.asmx?WSDL (a formális definíciót leíró XML fájlt adja vissza) Namespace: Sajat Output Directory: hová kerüljenek a fájlok (ahová majd a szolgáltatást behívó lap kerül) Source File. a Root URL ellenırzése) közben kommunikáció a szerverrel! Megnézni a HTML kódot (Nézet/Forrás) Kipróbálni pl.

MSDE 2. Koszonj. Start (szükség esetén az IIS-szerverrıl letölteni). CInt(TextBox2. törlés)! Fájok vonszolhatók (másolás) a sajátgéprıl a távoli gépre (és viszont) – kissé kényelmetlen Pl. engedélyezése FTP-vel elérhetı mappa felvétele virtuális mappaként a web-szerveren FTP-kapcsolat felvétele JEK a Workspace ablakban. Start.0: SQL 2000-hez Access: − fájl-alapú architektúra − fájl szinten végzi a módosításokat − az adatbázist letölti a kliensre és ott történik meg a lekérdezés − nem képes tárolt eljárások kezelésére − hiba esetén csak az utolsó mentett változathoz tud visszatérni SQL-szerver: − relációs adatbázis-kezelı rendszer (szolgáltatásként fut a gépen). áramszünet stb. hálózati hiba.NET Page. Számolj!) OnClick metódus: Dim wsProxy as New Sajat.exe /n leteszi a tálcára az állapotjelzıkhöz Célszerő a Start/Programok/Indítópultról kitenni az asztalra Az adatbázisok helye: \Program Files\Microsoft SQL Server\MSSQL\Data Juhász T. Távoli szerver használata Elıkészítés FTP-szerver installálása (IIS része). a napló alapján a megszakadt tranzakciók (pl.AlapMuvelet TextBox3. Megváltoztatni a HTML-nézetben a háttérszínt (<body bgcolor=”red”>) Mentés (a távoli gépre ment!). megnyitás a távoli géprıl (BED) Start. A kapcsolat bontása JEK a host-ra a Workspace ablakban.0-hoz.aspx átmásolása.Text = wsProxy. Kézi indítás: C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlmangr. és egy bin mappában a lefordított dll fájl (bin\MyProxyClass.dll).kivon(CInt(TextBox1. figyelni közben az állapotsort. − a lekérdezést a szerveren futtatja − tranzakciók kezelése − naplózás. lemezhiba. New Workspace/Add FTP Connection (vagy a Workspace menübıl) A távoli gép használata Rovatok kitöltése (ftp://….A megadott mappában létrejön egy VB forrásfájl (MyProxyClass. ASP. de kisebb hálózatokra (egyszerre maximum 5 felhasználó) van optimalizálva − nincsen full text indexing − egy adatbázis mérete maximum 2 Gbájt. név. Az MSDE Microsoft SQL Server Desktop Engine Az SQL szerverrel egyenértékő.0: SQL 7. http://…. új mappa. 21. jelszó!) Fájlmőveletek használhatók a távoli szerveren (új fájl.: Internet-programozás 33 .Text)) Mentés (wwwroot).vb.) elıtti állapot helyreállítása MSDE (↔ SQL szerver): − nincsen grafikus felhasználói felület (vezérlés parancssorral) − nincsen korlátozva a felhasználók száma.aspx Web-kontrollok: 3 TextBox és egy Button (TextBox1 – TextBox2 = TextBox3. A webszolgáltatás meghívása A kliens weblap elkészítése: JEK a wwwroot mappára. megnézni). kliens/szerver adatbázis-motor MSDE 1. Delete (!).Text). Add New Item. 22. név: Szamol. URL-t megnézni a címsorban! Kipróbálni a mőködést.

különben hibaüzenetet kapunk. SQL parancs (queryString) pl. trusted_connection=true. Nev VarChar Field Size: 21 ne legyen!) Varos VarChar Field Size: 12 Utca VarChar Field Size: 20 OK. ha egy másik gépen lévı adatbázis-szervert használunk. old.: "SELECT * FROM [Cimlista]" − DataAdapter (adatillesztı): végrehajtja az adatbázison az adatparancsot (SQLDataAdapter/OleDbAdapter) paraméter: sqlCommand objektum − DataSet (adathalmaz): egy vagy több táblázat.: Internet-programozás 34 . Data fül. majd a New Database Object ikonra. old. utána a Database legördülı menüjében felsorolja a létezı adatbázisokat. név: Cimlista A kapcsolat lezárása: BEK az adatbázisra. az adatillesztı tölti fel dataAdatper. (Az MSDE-t akkor is installálni kell a gépre. A táblák módosítása A tábla megnyitása: BEK a táblára és az Edit ikonra. 107. Megbízható kapcsolat használata (vagy bejelentkezési azonosító. Adatbáziskezelés a Web Matrix-ban A hozzáférési jogok miatt a Web Matrix saját Web-szerverét használjuk. Juhász T. A tábla szerkezetének módosítása: Edit/View Table Design csak üres tábla szerkezete módosítható Új rekord: Enter vagy üres sor Auto-increment esetén a kulcs-mezı Read-only. Add Database Connection ikon Server: be kell írni a gép nevét (localhost néha nem elég).Fill(dataSet) Részletesebben lásd tk. old. az üres új rekordra negatív A tabulátorral is lehet lépkedni a mezık között. Létezı adatbázis használata vagy Új adatbázis létrehozása Szerver és adatbázis neve. Close Database Connection ikon. old. 124-125.): − sqlConnection (adatkapcsolat): kapcsolódik az adatforráshoz (SQL szerver) paraméter: connectionString pl. 108. Az adatbázisokhoz való kapcsolódáskor néha a localhost helyett be kell írni a gép nevét! Az alábbi feladatok egymásra épülnek! Kapcsolódás az SQL szerverhez A Visual Studio. Server.Access XP fájlok konvertálása MSDE formátumba Access: Eszközök/Adatbázis-segédeszközök//Továbbfejlesztı Varázsló. jelszó) Az exportálásra kerülı táblák kijelölése 23. tulajdonságok beállítása (Properties) Name: Data Type: Required: ID Int Primary Key (lehetne Auto-increment. A legfontosabb objektumok (tk. Táblák kezelése Új tábla létrehozása: BEK a Tables csomópontra.) Új adatbázis létrehozása: Create a new database. Táblanév: Cimlista Új mezık (Columns) létrehozása: New. Adatbáziskezelés az ASP.NET (ActiveX Data Objects): adatobjektumok rendszere az adatbázisok kezeléséhez − adatátadás XML formátumban − kapcsolat nélküli (disconnected) adatkezelés! Szerkezet: tk.: "server='localhost'. Több táblát is létre lehet hozni. 108-124. Kapcsolódás az SQL szerverhez: Workspace ablak. 24. Database='Cimlista'" más adatszolgáltatók esetén: OleDBConnection (Open Database Connection – ODBC) − sqlCommand (adatparancs): az adatbázison végrehajtandó SQL parancs vagy tárolt eljárás paraméterek: adatkapcsolat (objektum). Database választása (Cimlista). lekérdezés (rekordhalmaz) győjteménye.NET segítségével lásd tk. Kapcsolódás egy létezı adatbázishoz: Add Database Connection.NET-ben ADO. vagy BED a táblára.

Delete.aspx TextBox. Database='Cimlista' SelectCommand: SELECT * FROM [Cimlista] Mentés. Button. Select File: Ea4\Adat\Cimlista.aspx Megnyitni a Cimlista adatbázist. a Web Mátrix-szal). Style beállítása Paraméteres lekérdezések létrehozása Rákérdez a mezık értékére.NET lap létrehozása. Tovább Specify Table Copy or Query: Copy tables and views…. ellenırizni a létrejött táblát. default érték: 10 sor oldalanként (nagyobb táblánál navigációs gombok) beállítás az MxDataGrid1 objektum AllowPaging és a PageSize tulajdonságnál Mentés. ellenırizni a beírt SQL parancsot. Fields tulajdonság (kollekció) Mezıknél Appearance/HeaderText. és csak a megfelelı rekordokat listázza ki. Tovább Select Source Tables and Views: (Select All). DataGrid vezérlıelemek felhelyezése (Web Controls) Code-nézetben a Code Builders Toolbox-ból a SELECT Data Method felhelyezése (vagy BED) Kapcsolódás az SQL szerver Cimlista adatbázisához SELECT parancs létrehozása a Query Builder Wizard-dal: * (összes mezı kiválasztása) a Cimlista táblában. Tovább Save.Törlés: rekord kijelölése. majd a DTSsel feltölteni Indítás a CD-rıl: \Programok\DTS\dtswiz. mert lassúbb Server: gépnév Use Windows Authentication (default) Database: Cimlista (új is létrehozható!!!).: Internet-programozás 35 . (default). Lapozható. közben lásd: Preview BEK: WHERE gomb. Properties ablak. külön is futtatható (MSDE kell hozzá) Dinamikusan csatolja a szerverhez az adatbázist. schedule and replicate package: Run immediately (default). Transform … (megnézni!) Column Mappings: Delete rows in destination table Transformations: megváltoztathatók a beállítások OK (kipróbálható a Preview). mert a saját cache-ébıl veszi elı Rendezhetı: BEK a címsorra (rendezés növekvı/csökkenı sorrendben) A táblázat formázása Az MxDataGrid vezérlıelem kiválasztása. Frissítés!!! – néha újra kell indítani az Explorert. Tovább Choose a destination Destination: Microsoft OLE DB Provider for SQL Server (default) ODBC-t nem célszerő használni. trusted_connection=true. nem figyelmeztet! A kapcsolat lezárása. Left Operand/Column: Varos Operator: = (default) Right Operand/Filter: @Varos (default) – paraméterként várja a várost OK. név: Varos.exe DTS Import/Export Wizard: Tovább (elıször lassan indul) Choose a Data Source Data Source: Microsoft Access (nem a Driver Do Microsoft Access-t!!!) File name: …. név: Cimlista. Done 25. a Web-Matrix-ból nem szerkeszthetı (de használható!) szerkeszthetı adatbázishoz elıször létre kell hozni egy üres táblát (pl.mdb (ne a CD-n lévı fájlt hasznájuk!). Start (a Web Matrix saját web-szerverével). Futtatás. A Cimlista táblát feltenni egérrel a weblapra! Létrejön egy SQLDataSourceControl és egy MxDataGrid objektum! SQLDataSourceControl: tartalmazza az adatbáziskezeléshez szükséges objektumokat ConnectionString: server='localhost'. Next Juhász T. Adatok listázása Adatbáziskezelés a Web-en Új ASP.NET lap létrehozása. Tovább Completing the DTS Import/Export Wizard: Befejezés Ha kész: OK. A Data Transformation Services (DTS) Az SQL-szerver része. Egyparaméteres lekérdezés Új ASP.

Többparaméteres lekérdezés Példa: adott ID tartományba esı ID és NEV mezık listázása. lásd a HTML-kódot!) DataGrid1. Start. Probléma: egy város többször is szerepel a listában.Insert(0.Városok --") A DataList vezérlıelem használata Több beállítási lehetıséggel rendelkezik.. BED a Button-ra. beírni: DataGrid1. Juhász T. Next A következı Wizard-ablakban a metódus neve: GetVaros.DataTextField = "Varos" DropDownList1. old.aspx mentése Parameterek.: Internet-programozás 36 . Legördülı listák használata Az adatbázisban szereplı értékek közül kell választani. BED az objektumra). 108. feltenni egy DataList vezérlıelemet. Database: Cimlista. csak utána szabad bemásolni az alábbi törzset (így rendeli hozzá a web-kontrollhoz. elmenteni Lakos.DataBind() End If End Sub Eseménykezelı a legördülı listához (BED a Design-ablakban) default esemény: SelectedIndexChanged Az eseménykezelı eljárás keretét létre kell hozni (pl. Megoldás: A PageLoad eljárásban a DropDownList1. Start.DataBind() után: DropDownList1. Törölni a DataGrid vezérlıelemet.Text) Mentés. "-. Next Test Query. Dataset: offline-ban is mőködik.. Megnyitni a Varos.Items.Test Query: kipróbálni. a GetValaszt függvény törlése (lehetne javítani.DataSource = GetVaros() DropDownList1. Varos. Több tábla összekapcsolására is alkalmas.DataSource = GetValaszt _ (DropDownList1. Példa: egy adott városban lakó személyek listája – a feladat DataList vezérlıelemmel Megnyitni a Varos.SelectedIndex). Columns: Varos. Next Caption: GetValaszt (ez lesz a lekérdezés neve).DataBind() Mentés.aspx lapot (File/RecentFiles). DataSet (default)." Probléma: a legördülı lista elsı elemének választására elıször nem reagál. mentés Lista. Még egy TextBox felhelyezése. a Code-nézetben megmutatja a kódot végignézni az objektumokat Design-nézet.IsPostBack Then ’ csak elıször kell inicializálni! DropDownList1. Finish A legördülı lista inicializálása a Code-ablakban: Sub Page_Load(Sender As Object.DataBind() Mentés.aspx néven. mint a DataGrid. E As EventArgs) If Not Page.DataSource = GetValaszt(TextBox1. metódus: Dataset (default) (DataReader: csak online-ban mőködik. A DropDownList AutoPostBack tulajdonságát True-ra állítani (ezért nem kell a Button!) A Code-ablakban törölni a Button1 eseménykezelıjét A Code Builders Toolbox-ból feltenni a lap aljára egy SELECT Data Method vezérlıelemet (Code-ablak) Server: a gép neve.aspx néven.aspx néven. de újból létrehozzuk) SELECT Data Method felhelyezése SELECT parancs: ID és NEV mezık kiválasztása WHERE: ID >= @ID1 (!) AND ID <= @ID2 név: GetValaszt Meghívás a Buttonl_Click eseménykezelıben: GetValaszt(TextBoxl. OK A Query Builder-ben: Tables: Cimlista. TextBox2. feltenni helyettük egy DropDownList vezérlıelemet.) Finish.Items(DropDownList1. Start.aspx lapot. Megoldás: a GetVaros függvényben a QueryString-et megváltoztatni: "SELECT DISTINCT .Text. Törölni a TextBox és a Button vezérlıelemeket.Text) DataGrid1.Text) DataGrid1. tk.

""} HTML-kód 9.Add("@ID". SqlDbType.Sablon létrehozása (egy rekordra): JEK.Add("@Nev". Editable Data Grid. Nev. Cancel). Utca from Cimlista" 74. Utca = @Utca WHERE ID = @ID" 85-87.VarChar.Controls(0). Data/Log file size: 1 MB/1 MB. @Utca)" 82.: Internet-programozás 37 . sor: database=Cimlista. "Nev") OK (a vezérlıelem neve szögletes zárójelbe került . A DTS segítségével fel kell venni a pubs adatbázist (Ea4\Adat\pubs. myConnection) Sajnos hiányzik egy TODO felirat a 70.Item. Message. TextBox). sor fölül 70-72. Az SQL szerver pubs minta-adatbázisával mőködnek. .Text) Juhász T.Text Át kell írni az AddNew_Click szubrutint is (ki kell egészíteni az ID kezdıértékével): 189. 12).Controls(0). Add new item A többi sablon (Template) is erre az adatbázisra épül (az utolsó kivételével) Simple Stored Procedure: Northwind adatbázis (minta-adatbázis az SQL szerverhez) Módosítás a sablonok segítségével Más adatbázishoz a kódot módosítani kell a ' TODO: kezdető megjegyzéseknek megfelelıen! Példa: a Cimlista adatbázis módosítása (az Author. sor: "SELECT ID.Value = Varos 88.Item. "". sor: ' TODO: update the Command value for your application (Edit/Go To. @Varos. sor: "INSERT INTO Cimlista(ID. Filename: Author. Item Template (default) Template Design: „A lakos neve:”. Nev.Parameters. A lista formázása: a HTML-ablakban.Controls(0). TextBox).aspx néven) Célszerő F2-vel kikapcsolni a Toolbox-ot. </asp:datalist> Rekordok módosítása Sok kódot kell írni. sorral kiegészíteni: UpdateCommand.VarChar.Int). SqlDbType.aspx-et elmenteni Modosit. sorral kiegészíteni: Dim Utca As String = CType(e.aspx A sablon alapján kaptunk egy mőködı weblapot. Tables: Select All A pubs adatbázis módosítása Web Matrix: File/New.Item. Edit Templates. SqlDbType.Value = Nev UpdateCommand.VarChar. sor: DataKeyField="ID" Át lehet írni a feliratokat és a hibaüzeneteket is (Edit/Find. Delete. Ctrl+G) 80. Templates: Data Pages. sor: Dim DeleteCommand As New SqlCommand ("DELETE from Cimlista where ID=’” & keyValue & ”’”.Text Dim Nev As String = CType(e. TextBox). Varos. TextBox). sor: "UPDATE Cimlista SET Nev = @Nev. pl. .Controls(0).Value = Utca 135.Eval(Container. sor: Dim rowValues As Object() = {0.mdb) az MSDE-re Database: <New>. sor: ' TODO: update the Command value for your application 137.Text 73. sor (átírni): Dim ID As Integer = CType(e. sor: ' TODO: update the ConnectionString and Command values for your application 3. sor: UpdateCommand. SqlDbType. Select: Item Templates. feltenni utána egy Label vezérlıelemet (az Edit ablakba!) A Label1 DataBindings tulajdonságánál (Properties ablak tetején): … Text: Custom binding expression DataBinder.Cells(4). @Nev. Módosítások: 1.Parameters. "".Cells(3).Value = ID UpdateCommand. Name: pubs. A weblap azonnal kipróbálható: Edit (Update.Add("@Utca".Item. Utca) VALUES (@ID. 4. Varos = @Varos.mezıhöz van kapcsolva) Edit ablak: OK A Code ablakban átírni a Button1 onClick eseménykezelıjénél a DataGrid1-et DataList1-re Mentés. Start. egyszerőbb az elıre elkészített sablonok segítségével. 21). 20).Text Dim Varos As String = CType(e.Parameters.Cells(2).: <asp:DataList id="DataList1" runat="server" BorderColor="Black" BorderStyle="Solid" BorderWidth="2"> .Parameters.DataItem.Cells(5).Add("@Varos". Varos.

W.0 Documentation (Microsoft Press.net/webmatrix/tour/getstarted/intro. web.: Visual Basic . XML fájl létrehozása XML fájlok kezelése File/New/XML File (Megrendel.. Csak a saját Web-szerverrel vannak ikonok. kipróbálni. – Davies. Add Online Toolbox Components (várni a letöltésre) Categories: Data & XML Controls.net/Tutorials/quickstart.: Bemutatkozik a Microsoft .net-en.aspx) JEK: Toolbox/Custom Controls.: XML in Action Web Technology (Microsoft Press. 2001) Platt. Install (JEK-kel: Remove. D.S.asp. átmásolni a Megrendel. Start.aspx) Endrıdi Tamás: Internet alapú alkalmazásfejlesztés (Gábor Dénes Fıiskola. 1998) Pardi.asp. D.com/books/webmatrix/download/webmatrix.com/download/C06615713. A.: Inside ASP.asp. XMLEditGrid. 2002. Auto Format Mentés.NET Web Matrix\version\Components-be kerül Az XML fájl megjelenítése.exe) Young. objektumok. szerkesztése Feltenni az aspx lapra az XMLEditGrid Custom Control-t XmlFile tulajdonság: Megrendel. (ComputerBooks.26.: Internet-programozás 38 .NET Web matrix Project Guided Tour (http://www. T. letölthetı: http://www. Reset) \Program Files\Microsoft ASP. Irodalomjegyzék ASP. bezárás Az Online Server Control Gallery XML web-szervíz a www. J.pdf) Juhász T.Net (Szak Kiadó.: Tanuljunk programozni.aspx) Microsoft Internet Information Services 5. Visual Basic Script. D. 2000) Juhász T.rollthunder. 2002) (letölthetı: http://www. 2002) Homer. Új aspx fájl létrehozása (Megrendel. fejezete. Start 27. 2000) Microsoft Visual InterDev 6.xml). – Kiss Zs.S. 2002) Holzner.NET Web Matrix (Wrox Press.alanddave.xml (célszerő ugyanabba a mappába tenni) Lehet pl. 2004) Lee.: Data Access in .txt tartalmát Mentés.Net Fekete könyv (Perfact-Pro Kft.NET QuickStart Tutorial (http://www. Ábrák a \Program Files\ASP.J. Format szekció Mentés. M.: Microsoft Windows 2000 TCP/IP Protocols and Services Technical Reference (Microsoft Press.Net (az elızı könyv 2.J. – Sussman. kiadásának 6.0 Web Technologies Reference (Microsoft Press.NET\CIient Files\Swarren_XmlEditGrid\version mappában Formázás: Auto Format vagy Property Builder a Properties ablakban. 1999) Platt. S. 2000) Microsoft ASP.: Step by Step XML (Microsoft Press.

az applikációk bármilyen böngészıvel megtekinthetık). Hozzáadás. Fájl/Beépülı modul hozzáadása.exe /n leteszi a tálcára az állapotjelzıkhöz Célszerő a Start/Minden program/Indítópultról kitenni az asztalra Az adatbázisok helye: \Program Files\Microsoft SQL Server\MSSQL\Data A . professional) 2003 Server része? Legalább 5. másik meghajtóra) Dokumentumok: Alapértelmezett dokumentum engedélyezése (nyitó oldal!): default. XP (home. telepítési idı: néhány perc Ellenırzés a Vezérlıpulton Felügyeleti eszközök/Szolgáltatások: Webes közzététel. 98 SE (mindkettınél csak a megfelelı nyelvi változatra – magyar nincs!).asp. Kezdıkönyvtár: c:\inetpub\wwwroot (átírható. bejön egy üdvözlı weblap (localstart. Alapértelmezett webhely – fut Beállítások a konzolon Alapértelmezett webhely. 128 Mbájt RAM (256 Mbájt javasolt). OK) Néhány percig tart. ME.htm fájlt a c:\inetpub\wwwroot mappába (nem kell htm formátum!) Az MSDE telepítése MSDE része a .NET Framework SDK-nak és a Visual Studio .Net Framework Configuration.5-ös Internet Explorer kell hozzá (csak a fejlesztéshez.NET 2003-nak (ekkor már nem kell telepíteni) Telepíthetı: Win 98.microsoft. Az IIS telepítése Start/Vezérlıpult/Programok telepítése és törlése/Windows összetevık hozzáadása: Internet Information Services (kéri a Windows XP CD-t) Részletek Ne legyen feltelepítve: FrontPage 2000 Server Extensions (defaultban benne van?) Nem kell: SMTP szolgáltatás Kell: IIS beépülı modul. Microsoft . Internet Information Services Ellenırzés a konzolon: kinyitni a mappákat. Open) Kézi indítás: C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlmangr. néha újra kell indítani a gépet (szól) . Microsoft . Konzol: Start/Futtatás/mmc.FÜGGELÉK A) Telepítési útmutató Minden letölthetı a www. accept) 1-2 perc alatt végez. World Wide Web szolgáltatás (default) Szükséges lemezterület: 12 Mbájt.asp) és a dokumentáció. kikapcsolható az autostart (JEK.exe (Microsoft SQL Server Desktop Engine) Egy-két perc alatt telepíti (üzenet nélkül végez!) Indítás – kezelés Bootoláskor automatikusan indul (Tálca!) SQL Server Service Manager: JEK a tálcán az ikonra. Win XP (home.exe (mindenre Igen. Minimális hardverigény: Pentium 133 MHz. Elindítva Ellenırzés böngészıvel: gépnév <enter>. újra kell indítani a gépet (szól) Ellenırzés: Vezérlıpult/Felügyeleti eszközök. pl.net-rıl (freeware programok!) A CD-n a Programok mappában találhatók a telepítı fájlok. parancssorból használható Az Access 2000-en és a Web Matrix-on keresztül használható Telepítés A CD-n Programok\Msde\Setup.htm Készíteni egy egyszerő default. NT 4 (server. workstation) SP 6a-val. Tulajdonságok.NET Framework SDK-nak és az Office XP Professional-nak MSDE-nek nincs GUI-ja. professional).NET Framework telepítése Része a . Next.exe (minden OK. 2000 (professional. Juhász T.0 (SP2). Mobil webek fejlesztéséhez: Mobile Internet Toolkit (lásd a CD-n: Programok\Mobileit.: Internet-programozás 39 .com és a www.Net Framework Service Pack 2 telepítése A CD-n Programok\DotNetSP2. Az adatbáziskezeléshez SQL Server 7. Telepítés: a CD-n Programok\DotNetFX. SQL Server 2000 vagy MSDE. server) SP2-vel.exe). server – SP2).Net Framework Wizards A Webmatrix telepítése Telepíthetı: Win 2000 (professional.

érték) . rész: globális paraméterek (kulcsszó . 3 és 5 esetén a három kép 20. redirect. Webes parancsnyelv és Webes hibakeresés) Indítás: \Program Files\Microsoft Office\Office10\Mse7. az állapotok tárolása (session sate management) Session objektumokkal Aspx oldal lekérésénél jön létre A session objektumot a szerver tárolja. nem kell programozni) A programozó adatokat tárolhat benne (nı a URL hossza!) Név=”érték” (karakteres attribútum) Példa: Session(”DemoString”) = TextBox1. Programok telepítése.Text = Session(”DemoString”).REDIRECT URL: a linkek választásának számlálását végzı fájlra (pl.a képfájl URL-je .egyik sem kötelezı. . Így összeszámolható.NET Web Matrix A CD-n lévı többi programot nem kell telepíteni! Microsoft Script Editor Office 2000 CD-rıl Start/Beállítások/Vezérlıpult.: Internet-programozás 40 . Frissítés Indítás: \Program Files\Microsoft Visual Studio\Common\Ide\Ide98\Mse. ekkor csak egy * kell a fájl elejére 2.exe) Office eszközök. Hozzáadás vagy eltávolítás (vagy közvetlenül a CD-n: Setup. accept!.txt): megadja a banner képfájlokat. A kattintás bejegyzést hoz létre a Web-szerver activity log-fájljában.AdRotator”) %> Példa: ad*.reklám) − rotátor fájl (ad. 1. a linkeket és a gyakoriságot. HTML-forráskódszerkesztı és Webes parancsnyelv telepítése (A Sajátgéprıl fut).a képhez tartozó link (ha nincs: -) .gyakoriság (0 és 4 milliárd között) pl.ToString Juhász T.Telepítés: a CD-n Programok\WebMatrix. rész: .msi (minden Next.NET további lehetıségei A webalkalmazások kezelése A konfiguráció tárolása: Web. − redirect fájl (adredir. Label2. Módosítás.WIDTH/HEIGHT/BORDER: a képek attribútumai (hogy egyformák legyenek) .asp C) Az ASP. hozzáférési engedélyek stb.exe (célszerő parancsikont készíteni) Office XP CD-rıl Telepítés ugyanúgy. − listafájl (adrot.CreateObject(„MSWC.asp) .* fájlok és az Images mappa.ALT szöveg . mint az Office 2000-ben (Office eszközök.config (pl. .asp): a weblap a bannerekkel (ezt kell lekérni a kliensre). XML formátumban Csak az alatta lévı szintekre (mappákra) vonatkozik Az alacsonyabb szinten lévı felülbírálja a fölötte lévıt (a rendszergazda letilthatja) Legmagasabb szint: machine. 30 és 50 %-os gyakorisággal kerül kiválasztásra Létrehozás: <% set SajatAd=Server. Install) Legalább 5.NET Web Matrix/ASP. az adott felhasználóhoz kötıdik Egyedi azonosító a URL-hez illesztve (automatikusan. Programok módosítása (ha már telepítve van az Office).) Az alkalmazás saját mappájában.asp): Ez a fájl irányítja tovább a felhasználót a banner-nek megfelelı URL-re (a cég weblapja).Text . hogy melyik linket hányszor választották. HTML forráskódszerkesztı.exe (parancsikon!) Nem mőködik az IntelliSense! B) Az ADRotator objektum használata Bannereket váltogat letöltésnél vagy frissítésnél (AD: advertisement . letöltés: ad.config Állapotkezelés Az egyes munkamenetek elkülönítése.5-ös Internet Explorer szükséges Másodpercek alatt telepíti Indítás: Start/Minden program/Microsoft ASP. 2.

com) Jelenleg ingyenes A hitelesítési kérelmet a kiszolgáló a Microsoft-hoz továbbítja.passport.config-ban be kell állítani a stateConnectionString attribútumot Tárolható SQL-szerveren is (!) az SqlConnectionString beállításával Az alkalmazásból hivatkozni lehet az Application objektumra is. enélkül bejeletkezési oldalhoz irányít − Passport: külsı (Microsoft) hitelesítési szolgáltatón keresztül Azonosítók és jelszók tárolása: Microsoft Passport webkiszolgáló (www. egy lépéses és biztonságos A Passport-kompatíbilis helyeken használható (lista: www.config fájl processModel elemében A munkafolyamatok újraindítása − Timeout: meghatározott idınként − RequestLimit: meghatározott számú oldal lekérése után − MemoryLimit: a memória meghatározott százalékának elfogyasztása után Juhász T. a web.passport.com) Jövıbeli áremelések? Microsofttal szembeni bizalmatlanság? A védelmet nem igénylı mőveleteknél ne használjunk hitelesítést! A szállítási protokoll (HTTP) nem használ titkosított átvitelt! SSL (Secure Socket Layer) protokoll – csak szükség esetén (lassúbb) Őrlapos hitelesítés (forms) A felhasználó maga hoz létre fiókot azonosítóval és jelszóval (vagy megkapja a cégtıl.A Session objektum törlése: a Session.config fájl authorization szakaszával Allow/deny elemek: engedélyezik/megtagadják a hozzáférést *: mindenki ?: nem hitelesített (névtelen) felhasználók Felhasználócsoportok (roles) is képezhetık (tartományi csoport is használható) Több egymást követı szabály: az ellenırzés az elsı feltétel teljesülésénél véget ér Kiszolgálószintő folyamatkezelés A machine. bankok esetén) Hitelesítést igénylı oldal kérése esetén: Az ASP. Hitelesítés és engedélyezés Hitelesítés (authentication): név és jelszó Engedélyezés (authorization): hozzáférési jogok Hitelesítési eljárások: − Nincs (bárki megnézheti a lapot) − Windows (A munkacsoportban/tartományban nyilvántartott Windows/hálózati felhasználónév és jelszó) − Forms: az oldalkérés fejrészében (süti). onnan kapja a sütit Univerzális.Abandon metódus meghívásával A Web. pl.NET érzékeli a belépésre jogosító süti hiányát Átirányítja a felhasználót a bejelentkezı oldalra A bejelentkezés után elıállítja a titkosított adatokat tartalmazó sütit. és visszairányítja a felhasználót a kért oldalra A további kérések fejrészükben már tartalmazzák a belépésre jogosító sütit Őrlapos hitelesítés elıírása: a web.config authentication elemében Elıször a loginUrl lapnak adódik át a vezérlés (itt tud a felhasználó bejelentkezni) Hozzáférés-engedélyezés A web.config fájlban A munkamenet-állapotot külön folyamat (process) tárolja (megtalálható a rendszerszolgáltatások között – el kell indítani a folyamatot) Egy folyamat kiakadása nem teszi tönkre a többi felhasználó munkamenet-állapotát Másik gépen is tárolható a folyamat (Web-farm).: Internet-programozás 41 .config fájl sessionState elemének timeout attribútumában megadott perc múlva magától törlıdik! Munkamenet állapot tárolása a futó folyamatoktól függetlenül: a sessionState mode attribútum StateServer-re állításával a Web.

Sign up to vote on this title
UsefulNot useful