Eksamen i Internetteknologi Fagkode: ITE1526



Like dokumenter
Eksamen i Internetteknologi Fagkode: IVA1379

Eksamen i Internetteknologi Fagkode: ITE1526

Videregående programmering 6

J2EE. CMP Entity Beans, Transaksjoner, JSP

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. TILLATTE HJELPEMIDLER: Alle trykte og skrevne. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

Tilkobling og Triggere

J2EE og distribuerte systemer Leksjon 10: Entity Beans (BMP)

Netctrl 2.0. Innhold. I dette dokumentet er den nye funksjonaliteten beskrevet.

INF 1010, vår 2005 Løsningsforslag uke 11

student s104111, s107911, s122357

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen i IBE102 Webutvikling Våren 2017.

Overordnet beskrivelse og arkitekturskisse

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

Kom i gang med E-Site - Med E-Site er det enkelt og trygt å redigere dine websider

Web Computing AS Brukerveiledning WebWiz 3.0. WebWiz 3.0. Brukerveiledning

HØGSKOLEN I SØR-TRØNDELAG

Brukermanual Administrasjon

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Entobutikk 5.BRUKERMANUAL VÅR 2011

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Brukerveiledning. Nye meldal.no

Kom i gang med matrikkelklienten

Konfigurasjon av inrx og Megalink

OPPGAVE 5b og 8b Java Kode

Eksamensoppgave Vår 2012 Ordinær eksamen Bokmål. Videregående programmering. Eksamensdato: Studium/klasse: 2. klasse

HØGSKOLEN I SØR-TRØNDELAG

6. Prosjekter Generelt

TOD063 Datastrukturer og algoritmer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

Web Computing AS Brukerveiledning WebWiz 2.0. WebWiz 2.0. Brukerveiledning. [Skriv inn tekst]

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Veiledning for vedlikehold av støtteapparat og spillere i Oppegård IL Fotball

OKOK DataPower Learning AS Administrasjon 1

INF1010 våren 2018 tirsdag 23. januar

UNIVERSITETET I OSLO

BRUKERVEILEDNING INTRANETT, CMA ASSET MANAGEMENT AS. Dataingeniørutdanningen, Høgskolen i Oslo GRUPPE 15. Kenneth Ådalen. Vegard Gulbrandsen

Side 1. Sniggabo CMS brukermanual rev. 2

INF Løsning på seminaropppgaver til uke 8

UNIVERSITETET I OSLO

Løsningsforslag Test 2

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Hva er Derby og Java DB? Denne forelesningen. Java Database Connectivity (JDBC) Hva er Derby og Java DB?

Datafelter. * Brukernavn * Passord

Netctrl har våren 2017 fått noen endringer som omhandler funksjonalitet.

Sist oppdatert av GIS-ansvarlig Hans-Victor Wexelsen

HØGSKOLEN I SØR-TRØNDELAG

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

Introduksjon til Telltur

Nyhetsbrev, utviklingsbloggen #udirbeta og masseutsendinger.

Brukermanual for kommuneansvarlig og testleder

Objektorientert Programmering Ekstraordinær eksamen 2014

Fraværsmodulen. Sist oppdatert HYPERNET. Atlanten videregående skole BRUKERMANUAL. For elever

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen..

HTML og relasjonsdatabaser med PHP

Eksamen Objektorientert Programmering 2013

Hovedprosjekt ved Høgskolen i Oslo våren 2011 CHARITY DOCTORS KRAVSPESIFIKASJON

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)

INF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

Oppsett «Visma Contacts»

Brukerveiledning. For Naturbase redigeringsapplikasjon. Versjon

Hurtigguide til KF Infoserie

Brukerveiledning Visma Bizweb i Visma Global

Emnenavn: Objektorientert programmering. Faglærer: Lars Emil Knudsen

Compello Invoice Approval

Kom i gang med E-Site

Kapittel 7: Mer om arv

Http- og WebServices funksjoner

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

Bruksanvisning for Testadmin

Presentasjon av gruppe 7: Erik Østensen, Henning Østensen og Kenneth Ådalen

Dette dokumentet er en produktrapport for vårt avsluttende hovedprosjekt våren 2008 ved høgskolen i Oslo, for ingeniør - avdelingen.

Java Database Connectivity (JDBC) Norvald H. Ryeng

Administrasjon av saker. - Redigere saker med standard mal

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

JSP. Tilstander og synkronisering

Avvik samhandling. Innhold. veiledning til bedrifter som inviteres inn i et prosjekt

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

Brukerveiledning gjovard.com

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

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

Algoritmer og Datastrukturer

Går emne på sted, følg veiledning under for å gjøre det via Canvas. 2. Hvordan opprette din pensumliste i Leganto via Canvas

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

PERSONVERN, GDPR OG COREPUBLISH

Klæbu IL Hjemmeside Web-redaktører

Brukermanual. System for oversiktslister. Entreprenører

Visma Flyt skole. Foresatte

SVARFORSLAG : Eksamen i IBE102 Webutvikling Våren 2017.

Transkript:

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 to vedlegg.

Datateknikk Side 2 av 8 Kort om oppgavesettet. Hver av oppgavene er en del av et system for håndtering av oppslag på en oppslagstavle. I oppgave 1 skal det utvikles en modul for vising av alle oppslag basert på kategori og for visning av enkeltoppslag. I oppgave 2 skal det utvikles en modul for endring/oppdatering av eksisterende oppslag, mens det i oppgave 3 skal utvikles en modul for opprettelse av nye oppslag på oppslagstavla. All informasjon i OppslagsTavla applikasjonen lagres i en MySQL database, nødvendige tabeller er gitt i vedlegg 1. Oppgave 1 (35%) PHP Det skal være mulig å få en oversikt over alle oppslag som er registrerte basert på kategori som vist i figur 1. Figuren inneholder også informasjon om oppsett og ønskede marger. Det er ønskelig at kategorimenyen står i ro, alle endringer skjer i feltet for visning av oppslag. Benytt CSS for oppsett av siden. Første gang en kommer inn på web-siden skal alle registrerte oppslag i kategori med navn «Gjesteforelesninger» vises. Kategorinavn skal vises som meny til venstre i skjermbildet, hver meny skal være en hyperlenke og valg av en kategori skal medføre at oppslag registrert på denne kategorien vises i feltet merket Felt for visning av oppslag i figuren under. For hvert oppslag skal tittel, ingress og dato vises med det nyeste oppslaget først i oversikten. Det skal videre være mulig å lese et oppslag ved å trykke på tittel eller Les mer, dette skal være hyperlenker som gjør at hele oppslaget med tittel, ingress, tekst (feltet oppslagtekst), dato, fullt navn på forfatter av oppslaget og antall visninger skal vises, dette er vist i figur 2. Skriptet som viser enkeltoppslag må også oppdatere trefftelleren. Figur 1: Skjermbilde som viser alle oppslag i en kategori

Datateknikk Side 3 av 8 Figur 2: Skjermbilde som viser et enkeltoppslag Oppgave 2 (25%) JSP Det skal være mulig å redigere enkelte felt i et eksisterende oppslag fra en JSP side med navn oppslagstavla.jsp. JSP siden kalles med parameteren oppslagid som angir id for det oppslaget som skal redigeres. (En Endre knapp skal legges inn for forfatteren av et oppslag i løsningen til oppgave 1, men dette er ikke en del av denne oppgaven). Feltene tittel, ingress og oppslagtekst skal kunne redigeres. Skjermbilde skal se ut som vist i figur 3. Når knappen «Lagre endringer» velges skal databasen oppdateres med ny informasjon gitt inn om det aktuelle oppslaget. Skriv en JSP side som skaper og håndterer hendelsene for skjermbildet i figur 3. Benytt Java bønnen (Oppslag.java ) i vedlegg 2 for å løse oppgaven. Etter at endringene er utført i databasen skal oversiktsiden over alle oppslag i aktuell kategori vises ved hjelp av PHP-skriptet skrevet i oppgave 1.

Datateknikk Side 4 av 8 Figur 3: Skjermbilde som viser endring av et oppslag på oppslagstavla Oppgave 3 (40%) Valgfri implementasjon I denne oppgaven skal du lage et skript/kode som håndterer opprettelse av et nytt oppslag på oppslagstavla. Det er kun registrert brukere som skal kunne utføre dette, disse er lagret i tabellen brukere med brukernavn og tilhørende passord som er md5 kryptert. Skriv en klasse med navn Bruker og opprett et nytt objekt av denne typen når en bruker logger inn, objektet bør ta vare på brukernavn, IP adresse og tidspunkt for innlogging. Opprett en sesjon (session) og brukerobjektet skal lagres i denne. Brukeren skal dermed ikke trenge å logge inn flere ganger. Ved hver oppkobling skal det verifiseres at IP adressen er lik adressen som er lagret i brukerobjektet. En ny knapp med navn «Nytt oppslag» skal legges til i skjermbildet i figur 1. Når denne aktiveres skal skriptet/koden skape dialogen i figur 4 samt lagre informasjonen gitt inn i databasen når knappen «Registrer» aktiveres. Input data må valideres, du bestemmer selv om dette skal gjøres på klienten eller tjeneren. Alle felt må fylles ut. Feltet bruker skal fylles ut automatisk og verdien hentes fra brukerobjektet som er lagret i sesjonen. Tittel skal ha maksimal lengde på 12 tegn, tittel, ingress og oppslag skal ikke kunne inneholde HTML koder. Ved feil i input data skal brukeren få beskjed om dette og mulighet for å rette opp i feilen før skjemaet sendes inn på nytt. Tilby også mulighet for utlogging.

Datateknikk Side 5 av 8 Figur 4: Skjermbilde for registrering av et nytt oppslag LYKKE TIL!

Datateknikk Side 6 av 8 Databasetabeller benyttet av oppslagstavla: Vedlegg 1 Tabellen oppslag inneholder informasjon om et oppslag og har følgende felter: id Autonummer primærnøkkel tittel Tekst (lengde 50) ingress Tekst (ubegrenset lengde) oppslagtekst Tekst (ubegrenset lengde) bruker Tekst Fremmednøkkel til brukere.brukernavn kategori Integer Fremmednøkkel til kategori.kat_id dato datofelt (date) treff Integer Tabellen kategori inneholder tilgjengelige kategorier med id og navn og har følgende felter: kat_id Autonummer primærnøkkel navn Tekst (lengde 15) Tabellen brukere inneholder informasjon om en bruker og har følgende felter: brukernavn Tekst (lengde 12) primærnøkkel passord Tekst (lengde 32) md5 kryptert fornavn Tekst (lengde 32) etternavn Tekst (lengde 32)

Datateknikk Side 7 av 8 Oppslag.java package eksamen_v05; import java.sql.*; Vedlegg 2 public class Oppslag { private static final String CONTENT_TYPE = "text/html"; String brukernavn = null; String passord = null; String url = null; String id = null; String kategori = null; String tittel = null; String ingress = null; String oppslagtekst = null; String dato = null; String bruker = null; String treff = null; // Bruker konstruktør funksjonen for å forsøke å initialisere databasedriveren public Oppslag () throws RuntimeException { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); catch (Exception e) { throw new RuntimeException ("Fant ingen databasedriver: " + e); brukernavn = "kc"; passord = "xyz"; url = "jdbc:mysql://limbo.hin.no:3306/test2"; public void setoppslagid(string id) { this.id = id; try { // Kobler oss opp mot databasen Connection forbindelse = DriverManager.getConnection(url, brukernavn, passord); PreparedStatement uttrykk = null; uttrykk = forbindelse.preparestatement ("SELECT * FROM oppslagstavla WHERE id=?"); uttrykk.setstring(1,id); ResultSet resultat = uttrykk.executequery(); if (resultat.next() ) { tittel = resultat.getstring("tittel"); ingress = resultat.getstring("ingress"); oppslagtekst = resultat.getstring("oppslagtekst"); dato = resultat.getstring("dato"); bruker = resultat.getstring("bruker"); kategori = resultat.getstring("kategori"); treff = resultat.getstring("treff"); forbindelse.close (); catch (SQLException sqle) { sqle.printstacktrace(); public void settittel(string navn) { this.tittel = navn; public void setoppslagtekst(string navn) { this.oppslagtekst = navn; public void setingress(string navn) { this.ingress = navn; public String gettittel() { return tittel;

Datateknikk Side 8 av 8 public String getingress() { return ingress; public String getoppslagtekst() { return oppslagtekst; public String getkategori() { return kategori; public String getdato() { return dato; public String getbruker() { return bruker; public String getoppslagid() { return id; public String gettreff() { return treff; public void lagreoppslag() { try { // Kobler oss opp mot databasen Connection forbindelse = DriverManager.getConnection(url, brukernavn, passord); PreparedStatement uttrykk = null; uttrykk = forbindelse.preparestatement ("UPDATE oppslagstavla set tittel=?, ingress=?, oppslagtekst=? WHERE id=?"); uttrykk.setstring(1,tittel); uttrykk.setstring(2,ingress); uttrykk.setstring(3,oppslagtekst); uttrykk.setstring(4,id); uttrykk.executeupdate(); forbindelse.close (); catch (SQLException sqle) { sqle.printstacktrace();