JavaServer Pages (JSP)
|
|
- Karoline Jørgensen
- 7 år siden
- Visninger:
Transkript
1 JavaServer Pages (JSP) Forelesning 1 Klient/tjener-systemer, installasjon av tjener, og intro til JSP. Statisk Web = HTML <!-- htmleks.html -- Eksempel på bruk av HTML-kode --> <html> <body> <h2> Overskrift </h2> <table border = 1> <tr> <td> rad 1 kolonne 1 <td> rad 1 kolonne 2 <!-- RAD 1 --> <tr> <td> rad 2 kolonne 1 <td> rad 2 kolonne 2 <!-- RAD 2 --> </table> <ul> <!-- lager en unummerert liste --> <li> dette blir første punkt i lista <li> mens dette blir andre </ul> </body> </html>
2 Hvordan fungerer web? Klient-side Tjener-side <html>... </html> Klient sender forepørsel til riktig tjener og får svar Nettleser tolker svaret og viser det til bruker Et viktig spørsmål. Er klienten og tjener HW eller SW? Problemet med HTML HTML-kode er statisk. Når en HTML-side er laget så forblir den slik helt til vi manuelt forandrer den Tenk bare om vi vil vise klokka på en web-side, det er ikke mulig med HTML-kode <html> <body> <h1> Klokka er nå: </h1> </body> </html> Det vi trenger er muligheten for å lage HTML-kode dynamisk => mao. at koden "forandrer seg selv". F.eks. slik at klokka hele tiden er riktig. <html> <body> <h1> Klokka er nå: <% kode for å sette inn klokkeslettet %> </body> </html>
3 Forskjell på scripting og programmering Programmering: Kode kompileres til maskinkode (evt. bytekode) Script: Koden tolkes en linje av gangen. Gjøres automatisk når scriptet kjøres. Tolking gir typisk dårligere ytelse og sikkerhet Programmering gir også stort sett bedre kontroll til programmereren. Programmering for web Fra statisk til dynamisk web HTML-skjema og CGI I dag er CGI mye godt erstattet Java Servlets (programmering) JSP (Script/programmering?) ASP (VBScript) PHP (??) I tillegg har vi klientside-script JavaScript -> støttes (stort sett av) alle nettlesere VBScript -> IE og klient-side programmering Java Applets/ActiveX
4 Klient-side script Scriptet blir utført av klienten HTML-koden som returneres fra tjeneren inneholder både HTML og script-elementer Det er altså ressurser på klienten som brukes under utføring => skalering? Kjør script, klokke.html! Vis/kilde. Klientside-script brukes mye i forbindelse med validering av input fra HTML-skjema vis sjekkinput.html rask respons trege forbindelse slipper unødig last på tjener sikkerhet? Klientside script må støttes av nettleser => problem med gamle nettlesere. Tjenerside script Scriptet utføres på tjeneren, med ressurser på denne => skalerbarhet? Det er HTML-kode som returneres til klienten. Neste foil. Vis script klokke.jsp. Vis kilde. Tjenerside script passer godt mot databaser se figur sikkerhet trege nettverksforbindelser Tjenerside-script og tunge beregninger => bedre enn klientside-script
5 Tjener JSP-fil Klient forespørsel svar utfør <%= new java.util.date() %> </BODY> Resulterende HTML-kode Wed Sep 12 10:45:22 GMT+02: </BODY> Tjenerside-script og databaser
6 Elementer i JSP JSP er HTML-kode blandet med script-kode Scriptlets. <% java-kode %> styrer det som skjer i en JSP eksempeler <% for (int i=0; i < 2; i++) { %> <H1> If I were a </H1> <% %> RICH MAN </BODY> <% for (int i=0; i < 2; i++) { out.println( <H1> If I were a </H1> ); %> RICH MAN </BODY> Eksempel RICH MAN Klient forespørsel svar HTML Tjener utfør JSP HTML <% for (int i = 0; i < 2;i++){ %> <H1> If I were </H1> <% %> RICH MAN </BODY> <H1> If I were </H1> <H1> If I were </H1> RICH MAN Resulterende HTML-kode
7 Klient- og tjenerscript sammen En kan godt ha en kombinasjon av klientside og tjenerside script f.eks. kan en JSP returnere en HTML-side som inneholder JavaScript. Hva er vitsen? dette er spesielt aktuelt når vi tar inn opplysninger fra brukeren. Vi bruker klientside-script for å sjekke først. Vi MÅ imidlertid også gjøre sjekken på tjenersiden fordi vi ikke kan være sikker på at klientside-scriptet har gjort jobben sin (brukeren har endret scriptet). Eksempel Vi vil vise hva klokke er både på klient-maskinen og tjener-maskinen. beggeklokker.jsp (kode neste foil). Koden slik den er på tjener <!-- beggeklokker.jsp --> <H1> Denne siden viser klokken </H1> <SCRIPT LANGUAGE="JavaScript"> <!-- klientside-script --> var now = new Date(); document.write(now.gethours()); document.write(now.getminutes()); </SCRIPT> <% out.println(new java.util.date()); %> <!-- tjenerside-script --> </BODY>
8 Oppgave Skriv en JSP som skriver ut: god morgen hvis klokka er før 12 god dag hvis klokka er mellom 12 og 17 ellers god kveld Tisp: java.util.date har en metode gethours() som angir hva klokka er, med en int for hel time. Ikke bruk out.println(); Uttrykk (expression) <%= new java.util.date() %> Sørger for å kalle tostring-metoden på det aktuelle objektet. Gjør samme nytt (stort sett) som <% out.println(new java.util.date()); %>
9 Outkontra uttrykk Eksempel med out Eksempel med uttrykk <% boolean sann = true; String streng = sann... ; if(sann) out.println(streng); else out.println( usann.. ); %> </BODY> <% boolean sann = true; String streng = sann... ; if(sann) { %> <%= streng %> <% else { %> <%= usann.. %> <% %> </BODY> Out-objektet Dette er et ferdiglaget objekt. Fungerer omtrent som System.out.println() men responsen havner til nettleseren. Vi kan bruke dette direkte i en scriptlet. Vi lager det ikke selv! <% out.println( <H1> til nettleseren </H1> ); %> Dette objektet er av klassen javax.servlet.jsp.jspwriter For å se mulige metoder for denne klassen se API-dok for servleter.
10 Direktivet import Kan importere java-klasser i en JSP Merk at dette gir oss muligheten til veldig god deling mellom presentasjon og logikk! <%-- klokkeimport.jsp. --%> <%@page import="java.util.date, java.io.*" %> <html> <body> <%= new Date() %> <%-- slipper å bruke hele pakkenavnet new java.util.date() --%> </body> </html> Java Servlets JSP er blir omformet til en Java Servlet. import javax.servlet.*; public class MinServlet implements Servlet eller public class MinServlet extends HttpServlet API-dok ikke med i standard API-dok.
11 javax.servlet.servlet Livssyklus Legg merke til at interface et Servlet brukes ved oppretting av en ny Servlet. Dette gjør at web-tjeneren kan behandle alle Servlets likt!!! Service metoden i en servlet kan kalles fra mange tråder samtidig! Lager et objekt av klassen Web-klient.. forespørsel Web-tjener Servlet min = newminservlet(); min.init(); min.service(); min.destroy(); MinServlet.. public void init(){.. public void service(){.. public void destroy(){.... Frigjør plassen som objektet har brukt
12 Sammenligne JSP og Servlets <html> <head> <title> Min første JSP side </title> </head> <body> <h1> Klokka er: <%= new java.util.date() %> </h1> <% int tall = 100; %> </body> </html> import javax.servlet.http.*; import javax.servlet.*; import java.io.*; import java.util.date; public class KlokkeServlet extends HttpServlet{ public void service(httpservletrequest req, HttpServletResponse res) throws IOException, ServletException{ res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); out.println(""); out.println("<head>"); out.println("<title> Min første Servlet </TITLE>"); out.println("</head>"); out.println(""); out.println("<h1> Denne servlet'en viser klokka nå: </H1>"); Date klokke = new java.util.date(); out.println(klokke); int tall = 100; out.println("</body>"); out.println("");
13 Overgangen fra JSP til servlet Ved forespørsel vil JSP en bli kompilert til en servlet. Legges i work katalogen til web-tjeneren. Ved feil i en JSP får vi ofte kryptiske feilmeldinger. Vi får mye bedre feilmeldinger ved kompilering av Java filer. Kan derfor ved problemer gå inn og forandre den resulterende servleten, og kompilere denne. Kompilering av servlets For å kompilere en servlet må du: ha SDK installert i tillegg må du ha servlet.jar i classpath en. Dette er API en for servleter og ligger sammen med web-tjeneren. Når du skal kjøre servleten så må webtjeneren kunne finne servleten (class-filen). Konfigurering av dette vil variere fra tjener til tjener.
14 Deklareringer i en scriptlet i JSP <% %> String rikmann= If I were a rich man ; import javax.servlet.http.*; import javax.servlet.*; import java.io.*; JSP Servlet Deklarering i en scriptlet havner inne i service-metoden på servleten.. public class KlokkeServlet extends HttpServlet{ public void service(httpservletrequest req, HttpServle throws IOException, ServletException{ String rikmann = If I were a rich man ; Deklarering av metoder og objektvariabler <%! %> String enstreng = En streng ; private int enmetode(){ return 15; import javax.servlet.http.*; import javax.servlet.*; import java.io.*; JSP Servlet Deklarering i en JSP-deklarasjon havner utenfor service-metoden på servleten.. public class KlokkeServlet extends HttpServlet{ String enstreng = En streng ; private int enmetode(){ return 15; public void service (...){ // kan her bruker enstreng og enmetode()
15 Metode inne i metode <% %> private int enmetode(){ return 15; JSP Servlet Metodedeklarasjon laget i en scriptlet havner også inne i service-metoden.!! Feilmelding. Det er ikke lov å deklarere en metode inne i en annen i Java!!! import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class KlokkeServlet extends HttpServlet{ public void service (...){ private int enmetode(){ return 15; //FEIL!!! Anbefalt metode for deklarasjon i JSP For å definere metoder må dette gjøres gjennom en JSP-deklarering. <%! int MinMetode() {return 7; %> Også variable kan deklareres på denne måte => objektvariabler Variabler bør i de aller fleste sammenhenger deklareres i en scriptlet. Husk livssyklusen til en servlet flere forespørsler til samme JSP kjører samme service()- metode på servlet en!
16 Oppsummering Vanlig JSP-kode legges i scriptlet <% out.println( hei du ); %> Uttrykk kan brukes til å skrive ut <%=.. %> For å lage metoder brukes deklarering <%! %> Brukes skjeldent. Ikke bruk denne uten at du er sikker på at du skal bruke den. Importering av klasser gjøres med direktivet import: < %@page import= java.io.* %> Ikke bland sammen de ulike typene. Avslutt en type før du begynner på neste. Altså ikke gjør slik <%.. <%=. %> %> Tomcat Vi skal bruke en web-tjener som heter Tomcat i dette faget. java-basert=> fungerer på alle plattformer Vi har på skolen en Tomcat-tjener som dere primært kan bruke. Se Du bør også prøve å installere Tomcat selv Gir mye bedre kontroll, da du selv kan styre web-tjeneren. Last ned fra faget hjemmeside eller jakarta.apache.org Installer på ditt eget hjemmeområde Se leksjon 1 for forklaring på hvordan dette gjøres. Merk at Tomcat krever at det settes en miljøvariabel som heter JAVA_HOME som peker på katalogen hvor java sdk er installert. ca. 9 MB
JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:
Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering
DetaljerResymé: Leksjonen omhandler grunnlaget for JSP, nemlig Java Servlets. I tillegg gjennomgås de mest grunnleggende elementene i JSP..
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Elementene i JSP Tomas Holt 18.08.2005 Lærestoffet er utviklet for faget LV193D Web-programmering i JSP 1. Elementene i JSP Resymé: Leksjonen
Detaljer1 JSP. 1.1 Innledning. 1.2 JSP og web-tjener. Innhold
Tomas Holt 05.02.2008 Opphavsrett: Forfatter og HiST/AITeL Lærestoffet er utviklet for faget LO701D Interaktive Webtjenester med Java og XML 1 Resymé: I denne leksjonen skal vi på grunnleggende prinsipper
DetaljerJSP. Tilstander og synkronisering
JSP Tilstander og synkronisering Tilstandsinformasjon Fire måter å gjøre det på omskriving av URL cookies hidden fields (gjemte felt) tjenersidelagring (sessions) se kreativbrukavurl.jsp Kreativ bruk av
Detaljer1 Introduksjon til web-programmering med JSP
side 1 av 20 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag 1.Introduksjon til web-programmering med JSP Tomas Holt, Else Lervik Lærestoffet er utviklet av Tomas Holt for faget LV193D
DetaljerEn bedre verden med AJAX
En bedre verden med AJAX Frode Eika Sandnes Hva er AJAX Har ikke noe med rengjøringsmidler å gjøre AJAX er et (morsomt) akronym Asynchronous Javascript And XML Henskikt: lage interaktive webapplikasjoner
Detaljer1. Installasjon av web-tjener og teori
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Installasjon av web-tjener og teori Tomas Holt 30.1.2006 Lærestoffet er utviklet for faget LV193D Web-programmering med JSP 1. Installasjon
DetaljerWeb-programmering med JSP Løsningsforslag leksjon 3
Web-programmering med JSP Løsningsforslag leksjon 3 Oppgave 1 Denne siden viser inneholder en oversikt over biler:
Detaljer1 Installasjon av web-tjener
Stiftelsen TISIP i samarbeid med Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tomas Holt 26.1.2004 Opphavsrett: Tomas Holt og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 17.desember 2001 Varighet: 0900-1300 Fagnummer: LV192D Fagnavn: Web-programmering med ASP Klasser: 1hsf Vekttall:
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 14.desember 2007 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D Web-applikasjoner med Java EE Nettstudenter
DetaljerINF 1010, vår 2005 Løsningsforslag uke 11
INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato
DetaljerIntroduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus Kategorisering av programmeringsspråk? Deklarativ vs. imperativ Lav nivå vs. høy nivå Kompilert vs. tolket
DetaljerWeb-programmering med JSP Løsningsforslag leksjon 4
Web-programmering med JSP Løsningsforslag leksjon 4 Oppgave 1 String adr = request.getremoteaddr() ; out.println(adr); Oppgave 2 Først her kommer HTML-filen med JavaScript et vi lagde i forrige leksjon.
DetaljerNB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen..
Løsningsforslag Eksamen V2007 Oppgave 1 NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Oppgave 1.1 Klasse som pakke rinne n primitiv datatype, slik at vi kan
DetaljerINF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)
INF1010 våren 2019 Onsdag 30. januar Mer om unntak i Java (med litt repetisjon av I/O først) Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type:
DetaljerBruk av NetBeans i JSP-delen av Web-applikasjoner med JSP og JSF
Bruk av NetBeans i JSP-delen av Web-applikasjoner med JSP og JSF Else Lervik, august 2010 (Av hensyn til JSF-delen av kurset anbefaler vi at du sørger for å ha NetBeans-versjon 6.9.) I den grad denne veiledningen
DetaljerKapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon
Kapittel 9 Distribusjon Tjenermaskin Fjernbruker LAN Nærbruker WAN Figur 9-1: En enkel klient/tjener distribusjon 195 Tjenermaskin Fjernbruker LAN Replikert tjener Nærbruker WAN Figur 9-2: Klient/tjener-konfigurasjon
DetaljerINF1010 våren 2018 tirsdag 23. januar
INF1010 våren 2018 tirsdag 23. januar I/O og litt om bruk av unntak i Java Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type: Scanner boolean
DetaljerLeksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder
6108 Programmering i Java Leksjon 6 Objekt Del 2: 6.4 6.5 Roy M. Istad 2015 Generelt oppsett av egendefinert klasse Eks: Student Evt. importsetninger public class Klasse { Objektvariabler - instansvariabler
DetaljerRepitisjonskurs. Arv, Subklasser og Grensesnitt
Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett
DetaljerLøsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004
Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerKapittel 8: Programutvikling
Kapittel 8: Programutvikling Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk
DetaljerHva 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; }
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; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerIntroduksjon til programmering og programmeringsspråk
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus https://code.org/ Veldig høy-nivå programmering med Scratch End-user programming Overtone, Tidal, etc., bygger
DetaljerEksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag
Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 7 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert
DetaljerKapittel 7: Mer om arv
Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
Detaljer1. Installering av webtjener. Litt teori
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Installering av webtjener. Litt teori Grethe Sandstrak 01.09.2015 Lærestoffet er utviklet for faget LV199D Web-programmering med ASP.NET
DetaljerJ2EE. CMP Entity Beans, Transaksjoner, JSP
J2EE CMP Entity Beans, Transaksjoner, JSP CMP Entity Beans Container Managed Persistence Container sin oppgave å lagre innholdet i EJB til varig lager (typisk DB). Implementasjonsklassen lages abstrakt.
DetaljerINF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java
INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne
DetaljerEKSAMENSFORSIDE Skriftlig eksamen med tilsyn
BOKMÅL EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: 108 + 108N Dato: 19.12.201 Ansv. faglærer: Roy M. Istad Campus: Bø Antall oppgaver: 5 Tillatte hjelpemidler (jfr. emnebeskrivelse): Alt trykt
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerForkurs INF1010. Dag 3. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 15.
Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Gard Inge Rosvold (gardir@ifi.uio.no) Institutt for Informatikk, 15. januar 2016 Forkurs INF1010 - dag 3 Strenger 2 Forkurs INF1010 - dag
DetaljerForelesning inf Java 5
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen
DetaljerForelesning inf Java 5
Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerForelesning inf Java 4
Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette
DetaljerAntall oppgaver: 6. Alle trykte og skrevne hjelpemidler
"..{ ~ høgskolen i oslo t:mne:--dtstribuerte informasjonssystemer Emnekode:SO I 34A ~,6ruppe(r):3AA.3AB,3AC,3AD,3AE,3Af I Dato:08. I 2.2003 Faglig veileder: Frode Eika Sandnes Eksamenstid:9-14 Eksamensoppgaven
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 4.desember 2008 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D/LN347D Web-applikasjoner med Java EE Nettstudenter
Detaljeri=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4
Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I
DetaljerIN Notat om I/O i Java
IN1010 - Notat om I/O i Java Mathias J.P. Stang, Tuva Kristine Thoresen, Ingrid Grønlie Guren 17. januar 2018 Dette notatet handler om I/O (input/output) i Java, og tar for seg innlesning fra terminal,
DetaljerForkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen
Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output
DetaljerIntroduksjon til objektorientert programmering
Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes
DetaljerDagens tema Kapittel 8: Objekter og klasser
Dagens tema Kapittel 8: Objekter og klasser Hva er objekter og klasser? Programmering med objekter Klassedeklarasjoner Generering av objekter Tilgang til elementer i objektene Objekt- og klassevariable
DetaljerLC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012. Objektorientert modellering
DetaljerUNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet
UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet Eksamen i emnet INF101/INF101-F - Programmering 2 Fredag 10. juni 2011, kl. 09-14 Bokmål Tillatte hjelpemidler: alle skrevne og trykte.
DetaljerAlgoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2
Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 11.2 Korteste vei i en graf 11.2.1 Dijkstras metode En graf er et system med noder og kanter mellom noder. Grafen kalles rettet Notasjon Verdien
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
DetaljerForkurs INF1010. Dag 3. Andreas Færøvig Olsen Eivind Storm Aarnæs
Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Eivind Storm Aarnæs (eivinsaa@math.uio.no) Institutt for Informatikk, 14. januar 2015 Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering
DetaljerDel 3: Evaluere uttrykk
Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret
DetaljerINF Notat om I/O i Java
INF1000 - Notat om I/O i Java Tuva Kristine Thoresen, Ingrid Grønlie Guren tuvakt@ulrik.uio.no, ingridgg@ulrik.uio.no 22. oktober 2014 Dette notatet handler om I/O (input/output) i Java, og tar for seg
DetaljerLøse reelle problemer
Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)
Detaljer1.2 Dynamiske, tjenerbaserte og interaktive nettsteder
Kapittel 1 Innledning og motivasjon 1.1 Innledning Mye av dagens virksomhet på WWW, alt fra nettbanker til bibliotekkataloger, er dynamisk, interaktiv og databasestyrt. Alle som leser denne boken har brukt
DetaljerUtvikling av dynamiske nettsteder med PHP og databaser, høsten 2006
Page 1 Page 2 Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Introduksjon Michael Preminger (michaelp@hio.no) 23/08-06 I denne forelesningen: Motivasjon: Hvorfor vi lærer å programmere
Detaljerimport java.io.*; import java.util.*; import javagently.text;
//-------------------------------------------------------- // // Fil: Oppg1.java - // løser oppgave 1 i eksamensettet for in105 - v99 // //-------------------------------------------------------- import
DetaljerSocket og ServerSocket
Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket
Detaljerclass Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerBruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.
Arne Maus, ver.2.2, august, 2013 Bruk av class, FileWriter og Formatter som alternativ til EasyIO i INF1000. Noen ønsker å bruke noen av de klassene vi finner i pakken java.util og java.io isteden for
DetaljerLøsningsforslag Test 2
Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.
DetaljerLøsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
DetaljerKapittel 1: Datamaskiner og programmeringsspråk
Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
DetaljerArv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerOversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/
DetaljerLøsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)
Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF1000 - Høst 2011) Variabler, uttrykk, fogreninger (if-else) (kapittel 2 og 4.1-4.2 i læreboka, "Rett på Java" 3. utg.) Mål Få trening i teorien du trenger
DetaljerLitt om Javas class-filer og byte-kode
Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet
DetaljerEksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag
Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 8 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag Fredag 10. desember
DetaljerEt forsøk på definisjon
Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 21/08-16 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner (eksempel
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.
DetaljerFra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
DetaljerLøse reelle problemer
Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:
DetaljerDagens tema: 12 gode råd for en kompilatorskriver
Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerHittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste
Datafiler og serialisering Tekstfiler Scanner klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson
DetaljerINF1010 våren 2016. Arv og subklasser - del 2
INF1010 våren 2016 Onsdag 10. februar Arv og subklasser - del 2 pluss litt om feil og unntak hvis tid Stein Gjessing Institutt for informatikk Dagens tema Virtuelle metoder som er det samme som Polymorfi
DetaljerKort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder
INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet
DetaljerIN1010 våren januar. Objektorientering i Java
IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8
DetaljerSeminaroppgaver IN1010, uke 2
Seminaroppgaver IN1010, uke 2 1.a: Skriv en klasse HeiVerden.java. Klassen skal inneholde en main- metode (se på notatet fra tidligere). Inne i main -metoden skal programmet først la brukeren oppgi en
DetaljerDagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?
Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerEt forsøk på definisjon. Eksempel 1
[Kurssidene] [ ABI - fagsider bibin ] Introduksjon Michael Preminger (michael.preminger@hioa.no) 13/12-13 I denne forelesningen: Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Motivasjon:
DetaljerEksamen i Internetteknologi Fagkode: ITE1526
Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerINF1010 våren januar. Objektorientering i Java
INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort
Detaljer2. Lage ASP.NET sider
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Lage ASP.NET sider Grethe Sandstrak 08.09.2015 Lærestoffet er utviklet for faget LV199D Web-programmering med ASP.NET 2. Lage ASP.NET sider
DetaljerEksamensoppgaver 2014
Eksamensoppgaver 2014 Først kommer alle de relevante små-oppgavene og deretter den store oppgaven. Oppgave 1 (4 p) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Løsningsforslag Kandidatnr: Eksamensdato: Varighet: Emnekode: Emnenavn: Klasse(r): 2.desember 2010 0900-1100 LO348D LN349D Web-applikasjoner
DetaljerEKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.
EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 31.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Bokmål 5 (inkludert denne) Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig
DetaljerINF1000 Eksamen 2014 (modifisert)
INF1000 Eksamen 2014 (modifisert) Oppgave 1 (4 poeng) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2 b) Anta at følgende programsetninger utføres. Hva skrives
DetaljerForklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Forklaring til programmet AbstraktKontoTest.java med tilhørende
DetaljerINF1000 : Forelesning 4
INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet
DetaljerTOD063 Datastrukturer og algoritmer
TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage
DetaljerEksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I
Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 6 Bokmål Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert
DetaljerOblig 4Hybelhus litt mer tips enn i oppgaven
Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,
DetaljerEt forsøk på definisjon. Eksempel 1
Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michael.preminger@hioa.no) 19/08-15 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start
DetaljerInnføring i bruk av CGI4VB
Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen
Detaljer