Web-programmering med JSP Løsningsforslag leksjon 3



Like dokumenter
Web-programmering med JSP Løsningsforslag leksjon 4

Innføring i bruk av CGI4VB

En bedre verden med AJAX

1. Klientside-validering med JavaScript

HØGSKOLEN I SØR-TRØNDELAG

JavaServer Pages (JSP)

Innføring i bruk av CGI4VB

HØGSKOLEN I SØR-TRØNDELAG

Øvingsforelesning 3 Python (TDT4110)

Oppsummering - Til nå... (1/ )

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

5. JavaScript (fra leksjon 5 i faget Webteknikker)

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

Øvingsforelesning 5 Python (TDT4110)

MAT1030 Plenumsregning 1

Øvingsforelesning 5 Python (TDT4110)

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

Mattespill Nybegynner Python PDF

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

MAT1030 Diskret Matematikk

Oppsummering - Til nå... (1/ )

Videregående programmering 6

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

TDT4110 IT Grunnkurs Høst 2015

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Programmering Høst 2017

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

UNIVERSITETET I OSLO

import java.io.*; import java.util.*; import javagently.text;

Løse reelle problemer

ITF Eksamensform: Skriftlig (digital) Dato: 28/

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

HØGSKOLEN I SØR-TRØNDELAG

INF Uke 10. Ukesoppgaver oktober 2012

OPPGAVE 5b og 8b Java Kode

JS: Grunnleggende JavaScript Nybegynner

Løsningsforslag til eksamen i INF1000

LO191D/LC191D Videregående programmering

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

HØGSKOLEN I SØR-TRØNDELAG

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Eksamensoppgaver 2014

Javascript. Mer om layout

TDT4100 Objektorientert programmering

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Øvingsforelesning i Matlab TDT4105

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

INF1000 Eksamen 2014 (modifisert)

INF2100. Oppgaver 26. september til 1. oktober 2007

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Oppsummering - Kurset (10/ )

Oppgave 1. Oppgavenr A B C

Algoritmer og datastrukturer E Løkker i Java

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

JSP Prosessering av informasjon

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

Finne ut om en løsning er helt riktig og korrigere ved behov

MAT1030 Diskret matematikk

Dagens tema: 12 gode råd for en kompilatorskriver

TDT4110 IT Grunnkurs Høst 2016

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Løse reelle problemer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

PDF-konverter. Arkivverket v/quang Van Nguyen

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

Visual Basic. Repetisjon fra mandag

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Webformularer, PHP og databaser

INF Løsning på seminaropppgaver til uke 8

EKSAMEN (Konvertert fra en gammel PHPeksamen)

JS: Grunnleggende JavaScript

TDT Øvingsforelesning 1. Tuesday, August 28, 12

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Post-it spørsmål fra timen (Arv og subklasser)

Oppsummering fra sist

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013

Python: Input og output

IN Notat om I/O i Java

Forkurs INF1010. Dag 3. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 15.

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2

INF1010. grensesni-et Comparable<T> grensesni-et Iterable<T> rekursjon

Innføring i Dynamisk HTML

INF1000 Eksamen 2014 (modifisert)

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Transkript:

Web-programmering med JSP Løsningsforslag leksjon 3 Oppgave 1 <%@ page import = "mine.jsp.leksjon3.*, java.util.*" %> <HTML> <BODY> <H1> Denne siden viser inneholder en oversikt over biler: </H1> <UL> <% Biler biler = new Biler(); Enumeration enum = biler.biltyper(); while (enum.hasmoreelements()){ //vi vet at det elementet vi henter er en streng, og caster derfor til en String. Se //leksjonen for utdyping. String bil = (String)enum.nextElement(); out.println("<li>" + bil); %> </BODY> </HTML> Oppgave 2 <%@ page import = " mine.jsp.leksjon3.*, java.util.*" %> <HTML> <BODY> <H1> Denne siden viser inneholder en oversikt over biler: </H1> <UL> <% Biler biler = new Biler(); Enumeration enum = biler.biltyper(); // går i løkke og finner eventuelle ferrari while (enum.hasmoreelements()){ String bil = (String)enum.nextElement(); if (bil.equals("ferrari")){ out.println("<li> <H2>" + bil + "</H2>"); //henter Enumeration på nytt, husk vi har gått i gjennom //hele Enumeration og må begynne på nytt. Går så i løkke //og finner de andre bilene. enum = biler.biltyper(); while (enum.hasmoreelements()){ String bil = (String)enum.nextElement();

if (!bil.equals("ferrari")){ out.println("<li>" + bil); %> </BODY> </HTML> Oppgave 3 og 4 <%@ page import = " mine.jsp.leksjon3.*,java.util.*" %> <HTML> <BODY> <H1> Denne siden viser inneholder en oversikt over biler: </H1> <TABLE BORDER =1 ALIGN = CENTER> <TH> Bilmerke <TH> Pris <% Biler biler = new Biler(); Vector vektor = new Vector(); for (int i =0; i<6;i++){ Bil bil = biler.lesinnbil(i); vektor.add(bil); for (int i = 0; i< vektor.size();i++){ Bil bil = (Bil)vektor.get(i); out.println("<tr><td>" + bil.hentmerke()); out.println("<td>" + bil.pris()); %> </TABLE> </BODY> </HTML> Oppgave 5 enkel Denne løsningen er laget enklest mulig. Forskjellen mellom denne løsningen og den mer avanserte ligger i at den avanserte løsningen behandler alle elementene i HTML-skjemaet likt. Dette gjør det litt enklere med utvidelser i HTML-skjemaet. De to løsningene har mindre praktisk betydning, men begge er tatt med for ordens skyld. <!-- Dette er en enkel versjon av oppgave en, og den andre versjonen er anbefalt. Denne er inkludert pga. det kommer en oppgave senere (øving 4) der en vil ha bruk at html-fila er skrevet som den er her. --> <script language="javascript" type="text/javascript"> <!-- function sjekkform(strenger){ if (strenger.navn.value=="") { alert("du må skrive inn navnet") strenger.navn.focus() else if (strenger.adr.value=="" ){ alert("du må skrive inn adressen") strenger.adr.focus() else if (strenger.tlf.value==""){ alert("du må skrive inn telefonnummeret") strenger.tlf.focus()

else if (strenger.epost.value==""){ alert("du må skrive inn epost") strenger.epost.focus() return true //--> </script> <title>untitled</title> <form onsubmit="return sjekkform(this)" action="http://localhost:9090/examples/jsp/ov4/oppg2.jsp" method="post"> <p>navn: <Input type="text" name="navn"></p> <p>adresse <input type="text" name="adr"></p> <p>tlf.nr.: <input type="text" name="tlf"></p> <p>e-post <input type="text" name="epost"></p> <input type="submit" value="ok"> </form> Oppgave 5 avansert <!-- Denne koden er kanskje ikke optimal, spesielt ikke formatteringa av html-dokumentet (en burde kanskje satt tekst og forms i en tabell slik at det så litt penere ut). Ang. scriptet, så går dette igjennom hvert tekstfelt sekvensielt, og sjekker om det har en verdi. Hvis dette ikke er tilfelle, gir det ut en alert og setter fokus til det (første) feltet (som er funnet uten verdi). --> <script language="javascript" type="text/javascript"> <!-- function sjekkform(strenger){ for(i=0;i<strenger.tekst.length;i++) { if (strenger.tekst[i].value=="") { alert("du må skrive inn alle data") strenger.tekst[i].focus() return true //--> </script> <title>untitled</title> <form onsubmit="return sjekkform(this)" action="http://localhost:9090/examples/jsp/ov3/oppg2.jsp" method="post"> <p>navn: <Input type="text" name="tekst"></p> <p>adresse <input type="text" name="tekst"></p> <p>tlf.nr.: <input type="text" name="tekst"></p> <p>epost <input type="text" name="tekst"></p> <input type="submit" value="ok">

</form>

Oppgave 6 <title>jsp</title> <p>data er mottatt</p> Oppgave 7 <!-- Nok en gang, så må formatteringa på html-dokumentet sies å være litt slapp, men det er script det dreier seg om her. Kort forklart, så er forløpet slik: man tar først verdien ut av tekstfeltet for telefonnummer, og så sjekker man om verdien eksisterer, deretter om det er et tall, og til slutt om det har rett antall sifre. --> <script language="javascript" type="text/javascript"> <!-- function sjekknr(nummer){ telefonnr = nummer.tlf.value if (isnan(telefonnr)){ alert("telefonnummeret er ikke et tall") nummer.tlf.focus() nummer.tlf.select() <!-- slutt på "if (isnan(telefonnr))" --> if (telefonnr.length!= 8){ alert("telefonnummeret har ikke korrekt antall sifre") nummer.tlf.focus() nummer.tlf.select() <!-- slutt på "if (nummer.tlf.value.length!= 8)" --> return true <!-- returnerer true dersom ingen feil har oppstått --> <!-- slutt på "function sjekknr(nummer)" --> function sjekkform(strenger){ if (strenger.navn.value=="") { alert("du må skrive inn navnet") strenger.navn.focus() else if (strenger.adr.value=="" ){ alert("du må skrive inn adressen") strenger.adr.focus() else if (strenger.tlf.value==""){ alert("du må skrive inn telefonnummeret") strenger.tlf.focus() else if (strenger.epost.value==""){ alert("du må skrive inn epost") strenger.epost.focus()

return sjekknr(strenger) //--> </script> <title>untitled</title> <form onsubmit="return sjekkform(this)" action="http://localhost/test.asp" method="post"> <p>navn: <Input type="text" name="navn"></p> <p>adresse <input type="text" name="adr"></p> <p>tlf.nr.: <input type="text" name="tlf"></p> <p>e-post <input type="text" name="epost"></p> <input type="submit" value="ok"> </form>