Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Relevanta dokument
Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Viktigt! Glöm inte att skriva TentamensKod (ditt anonyma student-id) på alla blad du lämnar in.

Systemvetarutbildningen och dataekonomutbildningen

Avancerade Webbteknologier

Introduk+on +ll programmering i JavaScript

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

ASP.NET Thomas Mejtoft

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

F8 Webbteknologier 1. Dynamiska webbsidor

Systemvetarutbildningen och dataekonomutbildningen

Classes och Interfaces, Objects och References, Initialization

Webbservrar, severskript & webbproduktion

DAT043 - Föreläsning 7

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

JAVASCRIPT. Beteende

Grundläggande programmering med C# 7,5 högskolepoäng

Webbprogrammering - 725G54 PHP. Foreläsning II

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Statistik över heltal

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

Webbprogrammering. Sahand Sadjadee

Lektion 2, Grundläggande funktioner i ASP.NET

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Laboration 6 Formulär och stränghantering övningar/uppgifter

Användarhandledning Version 1.2

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

PHP. Dynamiska webbsidor

PHP. TNMK30 - Elektronisk publicering

Tentamen, EDAA10 Programmering i Java

Nya webbservern Dvwebb.mah.se

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

ASP.NET Web Forms. Copyright Mahmud Al Hakim Vad är Web Forms?

DAT043 Objektorienterad Programmering

PROV. 13 JSP Standard Tag Library

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

E12 "Evil is going on"

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

PROGRAMMERINGSTEKNIK TIN212

Mål med lektionen! Repetera och befästa kunskaperna.

Inledande programmering med C# (1DV402) Introduktion till C#

TUTORIAL: KLASSER & OBJEKT

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

Guide för Innehållsleverantörer

Webbserver och HTML-sidor i E1000 KI

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

WebViewer Manual för administratör Nova Software AB

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

TENTAMEN OOP

Systembeskrivning.

LÖSNINGSFÖRSLAG TENTAMEN

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Strukturering med XML och DTD

Omtentamen i OOSU2, 21 augusti 2014

Tentamen , Introduktion till Java, dtaa98, dtea53

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Tentamen etjänster och webbprogrammering

Lite mer om CGI-programmering

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Systemvetarutbildningen och dataekonomutbildningen

Exemple på Tentauppgifter Webbprogrammering

TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Tentamen i Grundläggande programmering STS, åk 1 lördag

Webbsidor och webbservrar

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Räkna med ASP.NET Web Forms

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Komponenter med COM (och COM+/VC++ 7.0)

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

En snabb titt på XML LEKTION 6

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Föreläsning 4. CSS Stilmallar för webben

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Kursplanering Utveckling av webbapplikationer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Programmering B med Visual C

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Räkna med ASP.NET MVC 3

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det).

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

Tentamen Grundläggande programmering

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Manual för din hemsida

Transkript:

Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-06-14 Tid: 09.00 14.00 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på tentamen: 50 poäng För att få respektive betyg krävs: G=28, varav minst 15 på uppgift 1-5 VG=40, varav minst 15 på uppgift 1-5 Allmänna anvisningar: OBS! Starta den virtuella maskinen via VMWare och gör alla uppgifter där. Skriv dina svar på svarsblanketten (se nästa sida) Ange identitet för hårdisk (DISK1 o.s.v.) Spara alla filer inom den virtuella maskinen i lätt åtkomliga mappar. PHP filer måste läggas i C:\inetpub\wwwroot\PHPtenta\ för att kunna köras. URL:en blir http://localhost/phptenta/minfil.php. Rättningstiden är som längst tre veckor Viktigt! Glöm inte att skriva namn på alla blad du lämnar in. Lycka till! Ansvarig lärare: Håkan Sundell Anders Gidenstam Telefonnummer: 033 435 4426 033 435 4214

Svarsblankett Namn: (Ifylles av student) Personnummer: (Ifylles av student) Hårddisk: (Ifylles av student) Uppgift 1: i ii iii iv a) b) c) d) e) Uppgift 2: i ii iii iv a) b) c) d) e) Uppgift 3: i ii iii iv a) b) c) d) e) Uppgift 4: i ii iii iv a) b) c) d) e) Uppgift 5: i ii iii iv a) b) c) d) e) Observera: Det minimala resultatet på uppgift 1 till 5 är 15 poäng. Om detta inte uppnås, kommer inte uppgift 6 till 8 att beaktas och automatiskt få 0 poäng. 2

1. Svara med något eller några av de angivna alternativen på följande frågor. (a) Vilket eller vilka av följande påståenden gäller för JavaScript? i. JavaScript i ett HTML dokument kan förändra dokumentet medan det visas i en webbläsare. ii. JavaScript kan köras som svar på händelser i webbläsaren. iii. Programspråket JavaScript är en delmängd av programspråket Java. iv. JavaScript körs enbart när ett HTML dokument skapas. (b) Vilket eller vilka av följande påståenden gäller för CGI? i. Ett CGI program kan endast skapa dokument av typen text/html. ii. Ett CGI program anropas av webbservern för att generera svaret till en HTTP fråga. iii. Ett CGI program körs i webbläsaren. iv. Ett CGI program kan skrivas i programspråket C. (c) Vilken eller vilka av följande påståenden gäller för ett giltigt (eng. valid) XHTML 1.1 dokument? i. Dokumentet måste ha ett <body>-element inuti rotelementet. ii. Textens formatering måste anges med Cascading Style Sheets (CSS). iii. iv. Alla element har en start- och en sluttag. XML namnrymden för dokumentet måste anges som http://www.w3.org/1999/xhtml. (d) Vilket eller vilka av följande påståenden stämmer för XML 1.0? i. Information som kan innehålla godtyckliga tecken beskrivs som Parsed Character Data (PCDATA). ii. Ett XML dokument måste ha ett eller flera rot-element. iii. iv. Ett giltigt (eng. valid) XML dokument följer garanterat ett givet XML schema. Ett XML schema uttryckt i formatet XML Schema Definition (XSD) kan göras mer uttrycksfullt än ett XML schema uttryckt i formatet XML Document Type Definition (DTD). (e) Vilket eller vilka av följande påståenden stämmer för PHP? i. Funktioner i PHP kan anropas med ett godtyckligt antal argument. ii. All PHP kod måste vara innesluten i <?php?> taggar. iii. PHP koden körs i webbläsaren. iv. PHP är ett språk utan statisk typkontroll. 3

2. Svara med något av de angivna alternativen på följande frågor. (a) Texten i ett PHP-dokument tolkas enligt sätten? i. Output mode och Tag mode ii. Print mode och Compiler mode iii. Copy mode och XHTML mode iv. Copy mode och Interpret mode (b) Vid användande av session tracking i PHP blir resultatet av funktionen session_start() att? i. En ny global variabel med namn $SESSION skapas. ii. En loginsida genereras och skickas till användaren. iii. Tillståndet för en pågående session blir tillgängligt för skriptet alternativt om ingen pågående session finns så skapas en ny session. iv. En ny session skapas och ersätter eventuell föregående. (c) Ett PHP-program får flyttalsvärdet 0.0 i en kontext där ett booleskt värde förväntas. Vad händer? i. PHP har ingen boolesk typ utan värdet konverteras till heltalet 0 som tolkas som falskt. ii. Ett typfelsundantag (eng. exception) genereras. iii. Värdet konverteras till det booleska värdet TRUE. iv. Värdet konverteras till det booleska värdet FALSE. (d) Fält (eng. array) i PHP kan indexeras med? i. Valfri typ men samma för hela fältet. ii. Endast heltal. iii. Endast flyttal. iv. Strängar (bland annat). (e) Vad blir utskriften från nedanstående program? <?php?> $x = "1.5"; $y = 2; printf("$x + $y = %d", $x+$y); i. Inget, programmet kompilerar eller kör inte korrekt ii. 1.5 + 2 = 3 iii. 1.5 + 2 = 3.5 iv. $x + $y = 3.5 4

3. Svara med något av de angivna alternativen på följande frågor. (a) För att ange att en sida inte skall vara del av en session så används attribut enligt. i. <%@ session exclude = this %> ii. <%@ page issession = false %> iii. <%@ session page = false %> iv. <%@ page session = false %> (b) Vilket av följande exempel visar en korrekt användning av en JSP predefined variable (också kallat JSP implicit object)? i. <% HttpServletRequest request = application.getrequest(); string text = request.getparameter( atext ); %> ii. <% HttpServletRequest request = session.getrequest(); string text = request.getparameter( atext ); %> iii. A text: <%= request.getparameter( atext ); %> iv. <% HttpServletRequest request = page.getrequest(); %> A text: <%= request.getparameter( atext ); %> (c) För att kunna köra en Java Servlet krävs specifikt en? i. Java SE Development Kit (JDK) ii. Java Virtual Machine (JVM) iii. Servlet Container iv. J2SE Java Runtime Environment (JRE) (d) För att specificera i JSP att en instans av en JavaBean är bunden till en viss användare så används scope-attributet? i. request ii. application iii. session iv. page (e) Databaser blir åtkomliga i koden för en Servlet och JSP via? i. XML ii. ADO.NET iii. JDBC iv. SQL 5

4. Svara med något av de angivna alternativen på följande frågor. (a) Tillstånd för HTTP-uppkopplingar kan sparas med hjälp av på klienten? i. HTML ii. Cookies iii. Sockets iv. Persistent HTTP (b) En komponent inom HTMLControl måste alltid ha? i. Attributen id och server satta till något värde ii. Attributet runat satt till server iii. Attributet id satt till ett värde iv. Attributet name satt till ett värde (c) Hur väljer man.net data provider? i. En inställning i Visual Studio under tools. ii. Genom prefixet på de klasser i Framework Class Library man använder för datahantering. iii. Anges i ConnectionString för kommandot. iv. Via ett argument till SqlConnection och dess Open-metod. (d) Vad innebär "code-behind" i samband med ASP.NET? i. Koden ligger i en separat fil. ii. Koden läggs bakom allt annat och körs med lägre prioritet. iii. Koden släpar efter med ett valfritt intervall. iv. Koden kan inte använda arv. (e) Common Language Run-Time är? i. Ett ramverk för att skapa egna klasser. ii. Ett klassbibliotek. iii. En mapp med kodexempel. iv. Ett program som laddar in och kör.net-program. 6

5. Svara med något av de angivna alternativen på följande frågor om språket C#. (a) För att definiera om (överskugga) en metod i en klass där en metod med samma namn och signatur redan finns definierad för bas-klassen, används nyckelordet? i. hide ii. new iii. override iv. sub (b) För att definiera en parameter vars värde sätts av metoden och tillåta att en inte initierad variabel används som respektive argument, så används nyckelordet? i. ref ii. out iii. extern iv. intern (c) För att binda en metod till en viss händelse (eng. Event) och på så sätt skapa en händelsehanterare, görs detta genom att koppla metoden till en specifik? i. event ii. delegate iii. enumerator iv. iterator (d) Ett interface är? i. En klass där alla metoder är implementerade som referenstyper ii. En implicit implementation av alla metoder som ingår i en klass definierad explicit iii. iv. En klass där alla metoder är definierade som abstract En mall som talar om vilka metoder och egenskaper som en klass måste implementera (e) En variabel som representerar en instans av en datastruktur definierad med nyckelordet class är alltid klassificerad som en? i. Referenstyp ii. Instanstyp iii. Objekttyp iv. Värdetyp 7

6. Skapa ett PHP skript som ger en enkel sida med följande funktion: sidan har två inmatningsfält, ett för namn och ett för antal, samt en Ok-knapp enligt bild nedan. När inmatning skett och Ok-knappen trycks skrivs angivet antal HTML-stycken med texten Hej <namn>! ut under Ok-knappen som i bilden nedan. Vid felaktig inmatning (namn saknas eller antal är inte ett heltal) visas röda feltexter enligt bilden nedan. Eventuell korrekt inmatad information skall bevaras vid fel. Skapa din lösning i biblioteket C:\inetpub\wwwroot\PHPtenta på den virtuella maskinen. För att redigera filen kan t.ex. Notepad eller Wordpad användas (t.ex via höger klick på filen + Open with ). 8

7. Skapa ett nytt projekt av typen Web Application i NetBeans IDE, utan några valda frameworks. Skapa en enkel sajt för inmatning av bilinformation för ett bilregister, som består av två webbsidor i JSP. Startsidan skall innehålla ett formulär för inmatning av information om en bil (för registrering). Information som skall matas in är: * Märke och modellnamn (minst två ord,märke och modelnamn separerat med kolon : ) * Årsmodell (från 1909 och framåt) * Vridmoment (enligt tal Nm ) * Registreringsnummer (enligt svensk standard, t ex 123ABC ) Vid inskickande av information (klick på specificerad knapp) skall informationen kontrolleras enligt korrekthetsregler givna ovan. Eventuella felaktigheter skall indikeras vid respektive inmatningsfält och en beskrivande feltext presenteras. Om all information är korrekt inmatad skall denna registreras och läggas till en lista. Därefter vidarebefordras användaren till en annan webbsida som presenterar en lista med hitintills all inmatad bilinformation (av just denna användare), radvis med en informativt och strukturerad design. På webbsidan med listan skall även finnas en länk tillbaka till startsidan för inmatning. Hela sajten skall bestå av två dynamiska webbsidor. Informationen i listan med bilinformation skall sparas i en sessions-variabel. För full poäng skall JavaBeans användas för hanteringen av inmatad information. (10p) 9

8. Skapa ett nytt projekt av typen ASP.NET Web Site med språket C# i Visual Studio. Skapa en enkel shoppingsajt med varukorg. Varorna skall presenteras dynamiskt med hjälp av en Data -komponent (ex. DataList), och skall härröra från en statisk typad lista av egendefinierad typ (ex. class ShopItem) i programmet. Lägger man till fler instanser i listan så visas fler varor. Vid klick på respektive varas knapp, skall denna läggas till varukorgen. Varukorgen skall hela tiden vara synlig (som ex. en ListBox) på sidan. I varukorgen skall man kunna se vilka varor som man har valt, antal av varje och pris, samt det totala priset på beställningen. Med hjälp utav diverse knappar kopplade till varukorgen skall man även kunna ta bort enstaka varor från den. Hela sajten kan bestå av en enda dynamisk sida, men kan också bestå av fler om du vill. Varukorgens utseende och beteende skall definieras i en master-page. Vid designen av webbsajten skall relevanta användbarhetsaspekter beaktas. Vidare skall koden vara kommenterad när så är lämpligt och adekvat namngivning på variabler med mera tillämpas. (10p) 10