Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

KAP. 12 Hypertext Implementasjon Roy Kjellid & Tor Andre Kvinge 18.10.2004 Inf 329.

Liknende presentasjoner


Presentasjon om: "KAP. 12 Hypertext Implementasjon Roy Kjellid & Tor Andre Kvinge 18.10.2004 Inf 329."— Utskrift av presentasjonen:

1 KAP. 12 Hypertext Implementasjon Roy Kjellid (h997576@stud.hib.no) & Tor Andre Kvinge (h100550@stud.hib.no) 18.10.2004 Inf 329

2 Hva er Hypertekst implementasjon? Fasen der hvor Konseptuelle modellen av web- applikasjonen blir gjort om til software komponenter Vil vise vanlig struktur –Få tak i http request –Koble til database –Utførelse av en spørring –Produksjon av html-koden –Disponering av midlertidige objekter

3 Side beregnings steg

4 JSP template for impemenering av WebML side 1: Hente ut eventuelle parametre fra HTTP request 2:koble til databasen 3:Forberede og utføre spørringene –1.Bygge spørringene til valgt enhet –2. Utfør spørring –3. Hvis det er avhengighet mellom enheter, utfør steg 1. og 2. på nytt med den avhengige enhet 4:Produsere dynamiske side innholdet –Bygge det dynamiske innholdet utifra spørringen –Bygge utgående context lenken til enheten ved: 1. Bygge den bestemte delen av url’en 2. Bygge parameterne tilknyttet med lenken 5: Kvitte seg med midlertidige ressurser

5 1. JSP implementasjon av Newscategori Opprette Database forbindelse og kjøre spørring: 1.Laste inn database driver som implenterer JDBC funksjoner med å oversette de til ODBC operasjoner 2.Connection er et java objekt som oppretter selve forbindelsen. Gjøres ved å bruke getConnection til DriverManager 3.getConnection har 3 parametre: data source navn, brukernavn og passord. 4.Opprette et tomt objekt av statement. Gjøres ved createStatement 5.Deretter Kjøre en spørring av statement men SQL som innparameter: stmt.executeQuery(select * …..) Returnerer resultatet i et resultset.

6 2. JSP implementasjon av Newscategori Hente ut informasjonen i Resultset: 1.result.next() er en funksjon som returnerer false hvis det ikke er flere rader 2.result.getString(”KolonneNavn”), henter ut en streng til den raden sitt kolonneNavn. Finnes mange innebygde funksjoner som henter ut forskjellige typer variabler. Eks getInt,getDate, osv… 3.Lukke forbindelsene i java

7

8 Dataspørring på Hierarkisk unit Eks: NewsCategory og NewsItem Må ta join på tabellene : –Select C.Name,N.Heading From NewsCategory C Left Join NewsItem N on C.Oid=N.categoryID Order by C.Name,N.Hedaing –I Gjennomgang av result, må en ta sjekker på at en skriver ut kategorien til headingene en gang, deretter headingene.

9 Inter-page Links 1 Fig 12.9 Hente ut spesifikk nyhet ved en link Lage link som sender med Nødvendig info I href består av en fast del, (categorydetails.jsp?categ oryDU=), og en varibel.

10

11 Interpage links 2 Etter du har trykket på en link. Må du hente variabelen som ble sendt med. request.getParameter(”categoryDU”) Deretter hente info i databasen som har den nøkkelen Prepared Statement blir brukt her for SQL spørringen ikke er bestemt. Den vil variere med HTTP request. Prepated Statment blir sent til databasen i to steg: 1.For Kompilering 2.For Eksevering. Kan ekseveres mange ganger uten behov for kompilering. Sparer ekseveringstid

12

13 Intra-Page Links Kan bli kommet til på flere måter –Bli navigert til ved en intrapage link –Kan bli lagd med alternative input parametre Refresh value default value fra source unit av en intrapage link –Må hente ut parametre og sjekke verdien

14

15 Resultset Scrollerunits Dette gjør at en kan endre på pekeren i resultsettet. Dvs at en resette posisjonen etter en har gått inn i resultsettet slik at man kan begynne på første rad igjen.

16 Entry Units Blir oversatt direkte til html form i body’en av pagetemplate Linken er alltid ikke-automatisk, og verdiene bruker har skrevet inn er implementer ved bruk av action attributt og submit knappen. Vanlig å bruke Post istedenfor Get metoden Man kan hente ut verdier fra post med request.getParameter(”post_name: ”)

17

18 Multi-Choice Index Enhet til Multidata Enhet Blir multi verdier i samme parameter –Eks: oid=1&oid=12&oid=12&…. Henter ut verdiene med request.getParameterValues(” ”) ; den henter ut multiverdiene til en tabell Finner lengden av tabellen, går gjennom tabellen og lager en sqlspørring med de valgte verdiene.

19

20 Areas, Landmark sider,og nøstet sub-sider Areas og landmarker blir ganske enkelt bare HTML anchor tags.. Nøstet og sub-sider krever HTML frames. Nøstet OR sub-sider må den ene av sidene være en Default side. Den andre må nåes ved å ha en eksplisitt variabel som man kan kalle sub_page

21

22 Implementere Operasjoner For å implementere en hypertext trengs 2 steg: 1.Bygge side-templaten hvor operasjonen er lagd 2.Implementere operasjonen

23 Hvordan Implementere En operasjon blir implementert ved å opprette en link mellom en enhet på en side og operasjonen. Må håndtere 2 aspekter: –Hvordan kode en sekvens av operasjoner. –Hvordan bygge en link som aktiverer sekvensen.

24 Struktur Til Operasjon Del 1: Hent ut parametre fra HTTP request Del 2: Gjør klar og utfør spørringer: 1.Start transaksjon 2.Instasier parametre til spørring for gjeldende operasjon 3.Utfør spørring 4.Hvis(error) { rollback transaksjon; følg KO linken til gjeldende operasjon} 5. Hvis gjeldende operasjon != siste gå til pkt 2 Del 3: Vis resultat i form av side: 6. Send commit til databasen 7. Følg OK linken til gjeldende operasjon

25 Implementasjon Av Operasjons Sekvenser HTML implementasjon av en link som aktiverer en operasjon må følge disse reglene: –Linken må sende med (utenom sine egne parametre) alle parametre sendt ved transportlinker som når operasjoner i samme sekvens. Dette kan gjøres på to måter, avhengig av hvordan linken er implementert i HTML: 1.Hvis linken er en anker tag, blir passende parametre lagt til query strengen. 2.Hvis linken er en submit i et HTML form, blir input felter av typen ”hidden” lagt til HTML FORM tag’en. –Hvis en av operasjonene har en link som peker tilbake til siden hvor operasjons sekvensen ble aktivert, må denne linken også sende med ekstra paramtre som trengs for å ”huske” input fra eksterne avhengige enheter.

26 Sletting Eksempel Sletting av et objekt utifra valgt index Figur 12.24:

27 Sletting Implementasjon

28 Input Koblet Til ”Create” Enhet Figur 12.26:

29 Html Implementasjon

30 Unik Identifikator ”Problem” ved lagring av data i DB Muligheter: –Hente ut høyeste identifikator (hvis tall), øke med en.  –Overlate håndteringen av unike identifikatorer til DBMS.

31 Eksempel Fra Bok

32 ”Create” Og ”Connect” Mønster Figur 12.32:

33 NewsCreation

34 ”Create” og ”Connect”

35 Login og Logout Tre formål til å ha innlogging: –Verifisere bruker –Hvis bruker er ok videresend til hoved side, hvis ikke videresend til error-side –Sette globale parametre f.eks ”CurrentUser” og ”CurrentGroup”

36 Login

37 Globale Parametre Kan bruke session til å lager informasjon for bruker Eks: –session.setAttribute(”global-parameter-name”,”value) –value = session.getAttribute(”global-parameter-name”)

38 Set Og Get Enheter

39 Tilgang Til Side En side kan bli aksessert på 3 måter: –Ikke-kontektsuell første gangen: Ingen parametre og globale parametre har ingen verdi –Ikke-kontektsuell andre gangen: Ingen paramtre, globale parametre har verdien til den sist viste enheten –Navigere intra side linken: Forespørselen har parametre, globale paramtre lagrer verdien til den sist viste enheten

40 Kompleks Side


Laste ned ppt "KAP. 12 Hypertext Implementasjon Roy Kjellid & Tor Andre Kvinge 18.10.2004 Inf 329."

Liknende presentasjoner


Annonser fra Google