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

Slides:



Advertisements
Liknende presentasjoner
Bygg web på Opplæring Presentasjon Idium AS Bygg web på Opplæring.
Advertisements

SuperOffice - Visma Global ERP link - Tilbud/Ordre SuperOffice - Visma Global integrasjonen består av 3 produkter. ERP link SuperOffice - Visma Global.
Høgskolen i Oslo Webprogrammering Tilstandsbevaring Sessions og cookies.
Hvordan etablere nettbutikk med GoOnline Commerce
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
BraWeb Bestilling.
Kontoinnstillinger Slik kommer du til «Kontoinnstillinger»:
Opplevd kvalitet og målt kvalitet: Brukerundersøkelser: Målgruppe: - brukere av hjemmetjenesten (18 indikatorer) - beboere på inst. (24.
Slik kommer du til «Personverninnstillinger»: Logg inn på Facebook.
Intranett: Hvordan komme i gang
Brukerveiledning Basware
Slik kommer du til «Personverninnstillinger»: Logg inn på Facebook.
JSP presentasjon Arild Strømhylden NTNU 26 June 2014.
Splashforside. Opprett ny kategori med slug: small_alternate.
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
Avansert SQL og problemløsning
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Begrenset redigering “Klubbjournalister” For web ansvarlig klubb.
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
Objektorientert programmering i PHP del 2
IS-102 Klassedefinisjoner
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Databasehåndtering med MySQL
Bakgrunn. Funksjoner. Nøkkelfunksjoner. Application Manager. View Controller. Validation. Dialog Manager. Clay. Tiger extensions.
C# for javaprogrammerere
1 Øvingsforelesning 7 Kai Olav Ellefsen. 2 I dag… Databaser: Databasedesign og SQL JSP: Koble databasen til nettsiden Kai Olav Ellefsen, NTNU, 2010.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
INF150 Programmering mandag 11.9
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
1 Kap 02 Relasjonsdatabaser. Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk.
SQLHiA Transaksjoner. SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Presentasjon av ROS PP Trykk pil for neste bilde.
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
INF 295 Algoritmer og datastrukturer Forelesning 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Webprogrammering Skjema i HTML og PHP.
Stringmanipulasjon, RegEx og validering
Publisering på verdensveven Kursdag 2 VÅFF, våren 2002.
Skjema/Forms HTML II IT og læring 2/20 november 2001.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
DATABASE: Oppgave 2 et medlemsregister for en idrettsklubb med flere idrettsgrener (fotball, håndball, osv). klubben ønsker å lagre informasjon om medlemmenes.
Dynamiske nettsider PHP Del 4 – Eksterne datakilder.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
Databasen II Sesjoner, stored procedures, error handling.
Med hånda i kakeboksen. Oblig 4, cookies, sesjoner, stored procedures, error handling.
Hvordan lage seg en wikispaces Gå til bestem deg for hvilket wikispaces du vil ha (public, protected, private).
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Hvordan kan foreldre bruke de vangligste funksjonene i Itslearning.com
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Opplæring: Pålogging Prosedyre for logge på og av, låse og åpne PC’er DatoVersjonForfatterGodkjent avEndringer utført André S. MathiesenTore.
Web-grensesnitt Øyvind A. Bratne - April 2004.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Klasse: 2HKI Student: Bertil Gjerstad Oppgnr: 25E
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjonsprotokoll Rutiner for å administrere og kontrollere oversending av data Telefonsamtale (”Hallo”,
Upload av bildefiler Utdrag fra ImageIn Ved Kirsten Klæbo Tirsdag 25/11-03.
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
HUMIT1731 Hypermedier Introduksjon til XSL Transformation (XSLT)
Inf1000 (Uke 5) Arrayer, filer og tekst
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Kom i gang med Python Pål Hellesnes SYSTEMUTVIKLER
Utskrift av presentasjonen:

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

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

Side beregnings steg

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

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.

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

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.

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.

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

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

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.

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: ”)

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.

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

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

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.

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

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.

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

Sletting Implementasjon

Input Koblet Til ”Create” Enhet Figur 12.26:

Html Implementasjon

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.

Eksempel Fra Bok

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

NewsCreation

”Create” og ”Connect”

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”

Login

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

Set Og Get Enheter

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

Kompleks Side