Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets
|
|
- Christer Sundberg
- för 9 år sedan
- Visningar:
Transkript
1 Surfning Webbklienter och webbservrar Starta Firefox (eller Opera, eller Internet Explorer, eller... ). Skriv en URL i adressfältet: Webbläsaren kopplar upp sig mot webbservern på och skickar följande kommando: GET /History/1989/proposal.html Webbservern hittar filen proposal.html och skickar tillbaka den till webbläsaren. Webbläsaren läser HTML-koden, tolkar kommandona (taggarna) och visar filen i fönstret. Samma saker händer om man inte själv skriver en URL utan klickar på en länk. Webbklienter (webbläsare) är komplicerade: ska kunna koppla upp sig mot servrar och skicka rätt HTTP-kommandon till dem, ska kunna tolka HTML-koden som kommer från servern och visa resultatet på skärmen: text av olika storlek, länkar, bilder,... Webbservrar är också komplicerade: ska tillåta att klienter kopplar upp sig, ska kunna skicka tillbaka filer när klienten begär det, behöver inte bry sig om innehållet i filerna. En klient skriver man inte själv. En mycket förenklad server kan man skriva själv, så det gör vi. I Java. Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 1 / 20 Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 2 / 20 Specialskrivna webbservrar En generell webbserver har som huvuduppgift att skicka tillbaka dokument till klienten. Men man kan använda webben för att kommunicera med andra enheter, till exempel skrivare, switchar/routers, webbkameror,... Syftet kan vara att konfigurera enheten, övervaka arbetet,... Då har enheten en specialskriven webbserver som genererar dynamiska webbsidor. Kommunikation med sockets Två Unixprocesser som ska kommunicera med varandra gör det via sockets. Processerna kan finnas på olika datorer. En socket är ena ändpunkten av en kommunikationskanal. Man kan skriva på en socket eller läsa från en socket. En server väntar på uppkopplingar från klienter genom att lyssna på en port med ett bestämt nummer. När en klient kopplar upp sig får man en socket som kan utnyttjas för kommunikationen. I Java: ServerSocket server = new ServerSocket(portNbr); // create server Socket connection = server.accept(); // listen Klienter skapar sin egen socket genom att ange serverdatorns namn (eller IP-adress) och portnummer: Socket connection = new Socket(computerName, portnbr); På de följande sidorna finns dokumentation från java.sun.com. Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 3 / 20 Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 4 / 20
2 ServerSocket konstruktor public ServerSocket(int port) throws IOException Creates a server socket, bound to the specified port. A port of 0 creates a socket on any free port. The maximum queue length for incoming connection indications (a request to connect) is set to 50. If a connection indication arrives when the queue is full, the connection is refused. Parameters: port - the port number, or 0 to use any free port. IOException - if an I/O error occurs when opening the socket. SecurityException - if a security manager exists and its checklisten method doesn t allow the operation. Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 5 / 20 ServerSocket accept() public Socket accept() throws IOException Listens for a connection to be made to this socket and accepts it. The method blocks until a connection is made. A new Socket is created and, if there is a security manager,... Returns: the new Socket IOException - if an I/O error occurs when waiting for a connection. SecurityException - if a security manager exists and its checklisten method doesn t allow the operation. SocketTimeoutException - if a timeout was previously set with setsotimeout and the timeout has been reached. IllegalBlockingModeException - if this socket has an associated channel,... Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 6 / 20 Socket konstruktor public Socket(String host, int port) throws UnknownHostException, IOException Creates a stream socket and connects it to the specified port number on the named host. If the specified host is null it is the equivalent of specifying the address as InetAddress.getByName(null). In other words, it is equivalent to specifying an address of the loopback interface. Parameters: host - the host name, or null for the loopback address. port - the port number. UnknownHostException - if the IP address of the host could not be determined. IOException - if an I/O error occurs when creating the socket. Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 7 / 20 Strömmar för att läsa och skriva I Unix läser man data från en input-ström och skriver på en output-ström. I Java motsvaras strömmarna av objekt av klasserna InputStream respektive PrintWriter (eller PrintStream). Strömmarna kan kopplas till filer, sockets, tangentbord, datorskärm,... (System.in är ett InputStream-objekt, System.out är ett PrintStream-objekt.) Koppla strömmar till sockets och läs/skriv: Socket connection =...; InputStream in = connection.getinputstream(); PrintWriter out = new PrintWriter(connection.getOutputStream()); char ch = (char) in.read(); // read one character out.println("hello"); // write a string Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 8 / 20
3 Felhantering med exceptions En enkel server Fel som Javasystemet upptäcker rapporteras med Exception-objekt, undantagsobjekt. Du har sett flera exempel: FileNotFoundException, NullPointerException, ArrayIndexOutOfBoundsException. Man tar hand om undantag med try catch. Efter catch-blocken kan man skriva ett finally-block: satserna i det blocket utförs alltid, oavsett vad som inträffat tidigare. //... satser som kan ge XXXException catch (XXXException e) { //... satser som tar hand om felet finally { //... satser som alltid utförs På nästa bild finns klassen HelloWorldServer. Den beskriver en server som: Lyssnar på port Ialloändlighet: väntar (med accept()) på att en klient ska koppla upp sig, svarar med Hello, world!. Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 9 / 20 Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 10 / 20 HelloWorldServer (1) HelloWorldServer (2) import java.net.*; import java.io.*; class HelloWorldServer { public static void main(string[] args) { ServerSocket server = new ServerSocket(8089); while (true) { //... vänta på uppkoppling, svara //... med "Hello, world!" (nästa bild) catch (IOException e) { System.err.println("Could not start server. " + "Port occupied"); ServerSocket server = new ServerSocket(8089); while (true) { Socket connection = null; connection = server.accept(); PrintWriter out = new PrintWriter (connection.getoutputstream()); out.println("hello, world!"); out.close(); catch (IOException e) { finally { if (connection!= null) { connection.close(); Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 11 / 20 Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 12 / 20
4 En enkel klient SimpleClient import java.net.*; import java.io.*; På nästa bild finns klassen SimpleClient. Den beskriver en klient som: kopplar upp sig mot servern som lyssnar på port 8089 på den dator där klienten körs (localhost), läser alla tecken som skickas från servern och skriver ut dem på System.out. Per Holm Skriv din egen webbserver 2011/12 13 / 20 class SimpleClient { public static void main(string[] args) { Socket connection = new Socket("localhost", 8089); InputStream in = connection.getinputstream(); int chcode = in.read(); while (chcode >= 0) { System.out.print((char) chcode); chcode = in.read(); in.close(); connection.close(); catch (IOException e) { System.err.println("Could not connect to server"); Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 14 / 20 SimpleWebServer2 SimpleWebServer3 Samma som HelloWorldServer, men följer HTTP-protokollet: Svarar alltid med en rubrik enligt HTTP-protokollet, sedan med HTML-kod (90 tecken): HTTP/ OK Content-length: 90 Content-type: text/html <html> <head></head> <body> <H1><CENTER>Hello, world!</center></h1> </body> </html> Nästan samma som SimpleWebServer2: Inleder med att läsa tecknen i kommandot som klienten skickar till servern (GET filnamn och så vidare), skriver ut dem i kommandofönstret. Skickar sedan tillbaka rubriken och HTML-koden för Hello, world! Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 15 / 20 Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 16 / 20
5 SimpleWebServer4 SimpleWebServer5 Nästan samma som SimpleWebServer3: Inleder också med att läsa kommandot som klienten skickar till servern, men plockar ut de första orden (strängarna cmd och filename) och skriver ut dem i kommandofönstret. Orden identifieras med hjälp av ett Scanner-objekt. Skickar sedan tillbaka Hello, world! Nästan samma som SimpleWebServer4: Letar reda på filen som efterfrågas i GET-kommandot och skickar tillbaka den till klienten. Alltså en riktig server! Använder Javaklassen File för att representera filen och en FileInputStream för att läsa från filen. Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 17 / 20 Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 18 / 20 SimpleWebServer5! Apache Om programmering... Man måste bygga ut SimpleWebServer5 innan man kan börja sälja klassen: fler kommandon (HTTP innehåller mycket mera än GET), felhantering, stöd för CGI, PHP, Servlets,..., effektivitet (trådar, parallella processer). Programmeringen här är nästan trivial, bara några while-satser. Nästan all funktionalitet som vi behövde finns i färdigskrivna klasser. Vi har utnyttjat följande klasser: ServerSocket, Socket, PrintWriter, IOException, InputStream, Scanner, String, File, FileInputStream Mycket riktig programmering är av denna typ: leta i dokumentationen efter klasser som man kan utnyttja, läs på nätet, läs iböcker,... Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 19 / 20 Per Holm (Per.Holm@cs.lth.se) Skriv din egen webbserver 2011/12 20 / 20
Fördjupad Java. Undantagshantering. Fel
Fördjupad Java 1 Undantagshantering Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java
Att skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Föreläsning 14. Filhantering
Föreläsning 14 Filhantering Filhantering Att hantera filer, dvs att läsa eller skriva data till en fil är en viktig del i de flesta program. Ur Javas synvinkel är filer objekt med egenskaper och metoder
Undantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag
Undantagshantering Fördjupad Java Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java har
Undantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag
Undantagshantering Fördjupad Java Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java har
Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET
Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan
Översikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop
Översikt Repetition for-loopar Skriva till och läsa från filer Strömmar Eclipse Hur anpassa till vad du gillar? Skriva och läsa data Institutionen för datavetenskap Programmering 1 Rita Kovordányi 2 Kontrollflöde
Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java
DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/4 2014 Innehåll Kort om Javas Exceptions Trådar i Java swing- klassen Timer Klient-Server-program Javas Exceptions Checked måste hanteras,
Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015
Objektorienterad Programkonstruktion Föreläsning 10 7 dec 2015 Nätverksprotokoll - OSI Open Systems Interconnection model (ISO standard) definierar 7 lager för nätverkskommunikation: 1 - Physical Layer:
Hämta data mha URLer Föreläsning 2b. Innehåll Klassen URL
Hämta data mha Föreläsning 2b För För mer mer info info se se tex texharold, Hall Halleller Tut Tut (den (den senare senare är är ganska ganska rättfram). Innehåll Klassen URL Arbeta med, exempel Hur hittar
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
F5 Meddelandesändning med TCP
F5 Meddelandesändning med TCP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Transmission Control Protocol TCP En del av transportlagret. Applikationsprogram Transportlagret
Språkkonventioner och redigering av tal.
Språkkonventioner och redigering av tal. Kap J3-1 Konventioner för olika språk hanteras med hjälp av klassen java.util.locale Ett objekt i denna klass beskriver en lokal konvention. Lokala konventioner
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2008 05 26, 8.00 13.00 1. a) Raden sent = input.read(buffer); läser in så många bytes (dock max
Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13
LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2004 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande
Föreläsning 5 Meddelandesändning med TCP
Föreläsning 5 Meddelandesändning med TCP EDA095 Nätverksprogrammering Per Andersson Datavetenskap Lunds universitet Transmission Control Protocol TCP En del av transportlagret. Applikationsprogram Transportlagret
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2016 05 31, 8.00 13.00 Del 1 1. a) Vid multicast skickas ett datagram från en sändande dator
Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng.
Tentamen ITK:P2 lördag 2007-04-14 Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. 40 poäng ger betyget G, 55 ger VG Peter Mozelius DSV 1.) Ditt
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
10 Kommunikation i Java
10 Kommunikation i Java adresser filaccess över nätverk ar och sockets datagram multicasting client-server Skansholm kap 18 Adressering En URL (=Uniform Resource Locator) identifierar en resurs på WWW
F8 Webbteknologier 1. Dynamiska webbsidor
Dynamiska webbsidor F8 Webbteknologier 1 EDA095 Roger Henriksson Datavetenskap Lunds universitet HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den. Ofta vill man ha mera
Föreläsnings 9 - Exceptions, I/O
Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2014 06 02, 8.00 13.00 Del 1 1. a) TCP (Transmission Control Protocol) och UDP (User Datagram
Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016
Objektorienterad Programkonstruktion Föreläsning 11 6 dec 2016 Föreläsningen 13/12 Halvtidsrepetition Maila frågor som ni vill att jag tar upp! ccs@kth.se Processer Vad vi i dagligt tal menar när vi pratar
Föreläsning 5 Meddelandesändning med TCP
Transmission Control Protocol TCP Föreläsning 5 Meddelandesändning med TCP EDA095 Per Andersson Datavetenskap Lunds universitet En del av transportlagret. Applikationsprogram Applikationsprotokoll Applikationsprogram
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2018 03 14, 8.00 13.00 Del 1 1. Applikationslagret levererar data mellan applikationer och till
2I1070 Lektion 2 Servlets och databaskopplingar Internetprogrammering 2I1049 Treskiktsarkitektur Klient-server med servlets
2I1070 Lektion 2 Servlets och databaskopplingar KTH-MI Peter Mozelius Internetprogrammering Tidigare på kursen 2I1049 har vi enbart sysslat med fristående program där allt körs på en och samma dator. I
F2 Java I/O - strömmar Meddelandesändning med TCP
F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Java I/O Strömmar och filer Ström (eng. Stream) En ström är en sekvensiell
Undantag. Engelska: exceptions. Skansholm: exceptionella händelser
Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker öppna en fil som inte finns, dividera med noll, indexera utanför en array osv. bjectorienterad programmering
Webbservrar, severskript & webbproduktion
Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2018 04 11, 8.00 13.00 Del 1 1. a) IP-numret identifierar en enskild dator på internet. b) Port-numret
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2012 05 28, 8.00 13.00 Del 1 1. Time To Live (TTL) anger hur många routrar ett multicastpaket
Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013
DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013 Innehåll Trådar i Java swing- klassen Timer Klient-Server-program Trådar Tråd = enkel process Ett program kan ha flera trådar, flera
OOP Objekt-orienterad programmering
OOP F12:1 OOP Objekt-orienterad programmering Föreläsning 12 Mer om JOptionPane Undantagshantering Vad är det? try catch Kasta egna undantag Filhantering spara objekt mellan körningar Användardialog via
Föreläsning 1. På klientsidan... Allmänt. På serversidan... Och dessutom... DD1389 Internetprogrammering 6 hp
Föreläsning 1 DD1389 Internetprogrammering 6 hp Kursintroduktion Lärare: Vahid Mosavat, vahid@kth.se Kursaktivitet: föreläsningar, laborationer Kursmaterial: labbinstruktioner, föreläsningsanteckningar
System.out.println("Jaså du har "+ antaldollar + " stycken.");
1 Vad vi vet Vi har tidigare sett exemplet med inmatning från tangentbordet. Exemplet innehåller flera aspekter av klasser och objekt. import java.util.*; class KeyboardReading { public static void main(string
Input. Programmering. Andra källor
Programmering hh.se/db2004 Föreläsning 13: Undantag - med exempel från input klassen Scanner Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Input Standard Input Med standard
Lösningar för tenta 2 DAT043,
Lösningar för tenta 2 DAT043, 2018-06-08. Uppgift 1 public class Car{ private String model; private String year; private double price; public Car(String model, String year, double price){ this.model =
Tentamensskrivning Nätverksprogrammering (EDA095) , kl 8-13
LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2006 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095) 2004-05-27, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck
Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation
Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Datakommunikation och Internet
Datakommunikation och Internet Socketprogrammering Peter Sundqvist Socket-programmering Klient/server ansatsen TCP/IP protokollgrafen Java-programering UDP TCP Korta tips om Strömmar Script Trådar (föreläsning
FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.
Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i
Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1
Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva
F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering
Java I/O Strömmar och filer F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Roger Henriksson Datavetenskap Lunds universitet Ström (eng. Stream) En ström är en sekvensiell följd av bytes (tecken).
EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass
EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Strömmar Filer m.m. 1 In- och utmatning Definition: En ström (en.
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2015 06 04, 14.00 19.00 Del 1 1. 1) Begäran anländer till webbservern. 2) Om det är första gången
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2009 06 01, 14.00 19.00 1. a) Falskt b) Sant c) Sant d) Falskt e) Falskt f) Sant g) Sant h) Falskt
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2011 06 03, 14.00 19.00 Del 1 1. REST-ramverk använder HTTP metoder för att interagera med en
Innehåll. Socketar. Klient och serverprogrammering: Socketar Föreläsning 9. Klienter och servrar (som sagts tidigare ) Varför socketar
previous Klient och serverprogrammering: Föreläsning 9 Innehåll Fördjupning se tex Harold, Hall Inledning och/eller Tut Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.
2I1073 Lektion 2 Servlets, säkerhet, och filhantering KTH-MI Peter Mozelius import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lektion2a extends HttpServlet { public void
DAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.
Objektorienterad programmering E Telefonboken, än en gång Föreläsning 5 Wrapper classes Exempel, histogram. Inldening om undantag. Mer om klassen Påminnelse Vår senaste version bestod av två klasser, bägge
Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet
Java Secure Sockets Extension JSSE F5 Secure Sockets EDA095 Roger Henriksson Datavetenskap Lunds universitet Secure Sockets Layer SSL Transport Layer Security - TLS Protokoll och algoritmer för säker kommunikation
Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson
Fakulteten för ekonomi, kommunikation och IT Corba Datum: 2007-10-17 Namn: Kurs: Henrik Bäck Mathias Andersson DVGC02 Innehållsförteckning Implementation 3 IDL-fil 3 Server 3 Klient 3 Körning 3 Bilagor
TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP
F9 Meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Transport Layer Transport Layer Bygger vidare på på "Internet Internet Layer" Layer / IP. / IP. Applikationsprogram
Statistik från webbplatser
Statistik från webbplatser problem och möjligheter Ulf Kronman Föredragets huvuddelar Frågorna och motfrågorna Vilka frågor ställer chefen, BIBSAM och ISO? Varför ställer webmastern krångliga motfrågor?
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
JAVAUTVECKLING LEKTION 7
JAVAUTVECKLING LEKTION 7 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Olika språkversioner (Klassen Locale) Utskrift i kommandofönster Inläsning via kommandofönster Standardklassen
Tentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Föreläsning 14. Träd och filhantering
Föreläsning 14 Träd och filhantering Träd Ett träd är en datastruktur som tillåter oss att modellera sådant som vi inte kan modellera med linjära datastrukturer. Ett datavetenskapligt träd består av noder
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Uppgift 1 a) class används för en klassdeklaration
DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson
DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA
EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript
EDA095 HTML Per Andersson Lund University http://cs.lth.se/pierre_nugues/ April 26, 2017 Innehåll: HTML, CSS, DOM, JavaScript Per Andersson EDA095 HTML April 26, 2017 1 / 23 Webben Webben byggs upp av
Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22
Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22 1 Dagens ämnen Introduktion till nätverksprogrammering i Java TCP/IP Portar, sockets, strömmar Exempel: multitrådad bank-server
F8 Meddelandesändning med UDP
F8 Meddelandesändning med UDP EDA0965 Nätverksprogrammering Per Andersson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret
Recitation 4. 2-D arrays. Exceptions
Recitation 4. 2-D arrays. Exceptions Animal[] v= new Animal[3]; 2 declaration of array v Create array of 3 elements v null a6 Assign value of new-exp to v Assign and refer to elements as usual: v[0]= new
Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5 Daniel Wetterbro 23 november 2009 Sammanfattning Denna vecka ska vi titta på I/O, samlingar och generics. Övningarna är graderade
Datainsamling över Internet
Datainsamling över Internet I den här uppgiften skall du styra ett mätförlopp och hämta mätdata via internet. Från en dator skall du styra en annan dator och beordra den att utföra en mätning och skicka
Föreläsning 11 Aktiva objekt och trådar, strömmar, kommunikation DAT043,
Föreläsning 11 Aktiva objekt och trådar, strömmar, kommunikation DAT043, 2017-02-20 Aktiva objekt och trådar Multitasking, parallella program Vanliga datorer har kunna köra flera program skenbart samtidigt
Modul 6 Webbsäkerhet
Modul 6 Webbsäkerhet Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra
Föreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
Klassen javax.swing.timer
Klassen javax.swing.timer I Swing finns en klass Timer som man kan använda för att upprepa en vis kodsekvens med jämna tidsmellanrum. Ett objekt av klassen Timer exekveras som en egen tråd. Ett objekt
Lösningsförslag, tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och
Klass och metoddesign. Skapa en OO-design. Kodkonvention. Hur kan man jobba med kodkvalité? Implementation. Bra klasser är grunden
Klass och metoddesign Hur kan man jobba med kodkvalité? 1. Jobba strukturerat genom hela processen 170 171 Skapa en OO-design Bestäm klasser, objekt och metoder som behövs Vad finns redan? Bestäm algoritmer
Föreläsning 3 Innehåll. Generiska klasser. Icke-generisk lista ArrayList, skiss av implementering. Icke-generisk lista Risk för fel
Föreläsning 3 Innehåll Generiska klasser Implementera generiska klasser Exceptions Dokumentationekommentarer javadoc Enhetstestning - junit Man kan deklarera en eller flera typparametrar när man definierar
F4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Instuderingsuppgifter läsvecka 6 - LÖSNINGAR
Instuderingsuppgifter läsvecka 6 - LÖSNINGAR 1. 2. Om vi använder interfacet List behöver vi inte bry oss om den konkret implementation som används, därför kan implementationen bytas ut genom att endast
Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016
Objektorienterad Programkonstruktion Föreläsning 4 8 nov 2016 Nästade klasser I Java går det att deklarera en klass inuti en annan klass. Vi kallar detta för att en yttre klass innehåller en inre klass.
Lab 6: ASP.NET 2.0 Providermodellen
Lab 6: ASP.NET 2.0 Providermodellen Den stora finessen med Providermodellen är enkelheten att skapa sin egna provider för att kunna anpassa en tjänst utefter de behov man har. Den gör tillståndshantering
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klassen Mio ffl Särfall ffl Interface Kungl. Tekn. Högskolan
F1 Nätverk och meddelandesändning
F1 Nätverk och meddelandesändning med UDP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Nätverksprogrammering Tekniker för att skriva program som kommunicerar med varandra
Föreläsning 9-10 Innehåll
Föreläsning 9-10 Innehåll Inläsning från textfil, utskrift från textfil Vektorer med objekt Matriser Datavetenskap (LTH) Föreläsning 9-10 HT 2018 1 / 41 Klassen Scanner Läsa från System.in Vi har tidigare
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.
Introduktion Upplägg Kursen heter konstruktion, ej design eller formgivning. det handlar främst om att lära sig att bygga gränssnitt som är sunda den är praktiskt orienterad; vetenskapliga teorier finns,