WWW ja servletit. Luku Johdanto

Koko: px
Aloita esitys sivulta:

Download "WWW ja servletit. Luku 10. 10.1 Johdanto"

Transkriptio

1 Luku 10 WWW ja servletit Servletti (engl. servlet) eli palvelinsovelma on Java-kielinen olio, joka toimii WWW-palvelimen yhteydessä olevassa virtuaalikoneessa. Kaikkiin WWW-palvelimiin ei kuitenkaan ole upotettu virtuaalikonetta, joten servlettejäkään ei voida suorittaa kaikkien WWW-palvelimien yhteydessä. Seuraavaksi luvussa 10.1 kerrotaan servlettien taustasta, roolista ja yleisestä toimintaideasta. Luvussa 10.2 kerrotaan mahdollisuudesta määritellä HTML-kielisille WWW-sivuille lomakkeita, joiden avulla voidaan kutsua mm. servlettejä toimittaen niille samalla käyttäjän antamia arvoja. Tämän jälkeen luvussa 10.3 tehdään katsaus servletteihin liittyviin luokkiin (mm. Servlet, HttpServlet, Http- ServletRequest, HttpServletResponse ja Cookie) ja niiden ominaisuuksiin. Servletteihin liittyvät luokat ovat paketeissa javax.servlet ja javax.servlet.http. Luvussa 10.4 esitetään tämän jälkeen kolme esimerkkiä palvelinsovelmien käytöstä. Loppukommentteja esitetään luvussa Servlettejä on käsitelty monissa kirjoissa, mutta useimmissa käsittely on pinnallista tai puutteellista. Tätä kirjoitettaessa paras kirja lienee edelleen Java Servlet Programming, Jason Hunter & William Crawford, Kyseinen kirja käsittelee jopa tiedostojen siirtämistä HTTP-protokollalla servlettioliolle Johdanto Servletti eli palvelinsovelma on siis WWW-palvelimessa suoritettavaksi tarkoitettu (tietynlainen) Javaohjelma. Servletti kuten nimikin antaa ymmärtää on tietyssä mielessä samanlainen kuin applettikin. Servlettiin ei appletin tapaan liity main -metodia, mutta appleteista poiketen sillä ei voi olla edes graafista käyttöliittymää. Servleteillä on hyvin tarkkaan määrätty rooli WWW-palvelimien yhteydessä: niiden tehtävänä on dynaamisesti generoida WWW-sivuja. Kaikki palvelimet eivät tue servlettejä. Itse asiassa servletit eivät ole edes osa JDK:ta (ei edes versiossa 1.4), vaan ne on itse asennettava kääntäjän (ja mahdollisesti WWW-palvelimen) yhteyteen. Sun on tehnyt servleteistä JSDK-kokonaisuuden, jonka voi asentaa JDK:n yhteyteen ja jonka mukana tulee jopa pienimuotoinen servlettejä tukeva WWW-palvelin. Servlettien käyttämiseen liittyvät asiat ovat valitettavasti hieman WWW-palvelinkohtaisia asioita. Servlettejä suoritetaan palvelimen oikeuksilla. Servletti voidaan luoda uudelleen jokaisen WWWpalvelimeen kohdistuvan servletin kutsun seurauksena, mutta yleensä servletit ovat luonnin jälkeen pysyvä osa palvelinta. Tämä tarkoittaa, että servletit muistavat tilansa kutsukerrasta toiseen vaikka kutsuva taho onkin palvelimen sisällä olevan virtuaalikoneen ulkopuolella. Tällainen ominaisuus on erittäin hyödyllinen raskaissa sovelluksissa servletti voi esimerkiksi käsitellä tietokantaa niin, 101

2 102 LUKU 10. WWW JA SERVLETIT että tietokantayhteyttä pidetään koko ajan auki. Palvelinkohtainen asia on myös servlettien luonti ja alustus yleensä luonti tapahtuu sellaisella konstruktorilla, johon ei liity parametrejä ja luomisen jälkeen niitä käyttävä taho kutsuu niiden init()-metodia (parametrien määräämistapa on palvelinkohtainen asia). WWW-palvelimen tehtävänä on välittää HTML-sivuja palvelinta käyttäville WWW-selaimille. HTML-sivujen ideahan, että ne ovat tekstimuotoisia sisältäen muotoilukomentoja ja esim. viittauksia muihin dokumentteihin. Viittaukset muihin dokumentteihin ovat johonkin palvelimeen kohdistuvia URL-osoitteita kuljettaessa linkkiä pitkin kyseinen URL-välitetään URL:ssä mainitulle palvelimelle ja WWW-palvelimen tapauksessa palvelin lähettää selaimelle takaisin HTML-sivun. Tällainen dokumenttien noutaminen tapahtuu HTTP-protokollalla käyttäen GET, POST, PUT tai muutamaa muuta komentoa. Huomaa, että HTTP-protokolla on yhteydetön tässä mielessä on merkittävää, että servletit ovat pysyviä olioita. Toinen tärkeä huomio tässä yhteydessä on, että nykyään WWW-selaimet eivät ole passiivisten HTML-sivujen varastoja, vaan sivuja usein tuotetaan eri menetelmillä lennosta, dynaamisesti. Servlettien idea on juuri dynaamisessa WWW-sivujen generoinnissa. Kuvassa 10.1 havainnollistetaan servlettien toimintaympäristöä. www palvelin kone www selain GET komento HTML sivu verkkoyhteys www palvelin prosessi POST komento HTML sivu doget() dopost() servletti olioita Kuva 10.1: Palvelinsovelmien suorittaminen. Toinen servlettihin liittyvä idea on, että sivujen tuottamiseen voi liittyä raskasta laskentaa, joka tällä tavalla annetaan palvelimen tehtäväksi. Servletit ovat omimmillaan ns. kolmitasoarkkitehtuurien (3-tier) toteuttamisen yhteydessä: servletit ovat välitaso selaimen ja tietokannan välissä. Servletit on osin tehty korvaamaan ns. CGI-ohjelmointi. Koska servlettejä kutsutaan HTML-sivuilta WWW-selaimen toimesta, niin herää kysymyksiä: (1) miten kutsun yhteydessä voidaan välittää tietoja ja (2) voiko servletti toimia yhteen WWWselaimessa suoritettavan appletin kanssa? Eräs tapa välittää tietoa WWW-palvelimelle ja sitä kautta servleteille ovat HTML-kielen FORM-määritykset, eli ns. lomakkeet. Näitä käsitellään tarkemmin kohdassa Idea on kuitenkin se, että voidaan antaa käyttäjän täyttää joitakin lomakkeen kohtia ja samalla määritellä, mitä URL:ää kutsutaan kun lomake on täytetty. Kutsuminen tarkoittaa mm. HTTP-protokollan mukaisen GET- tai POST-komennon lähettämistä lomakkeessa täytetyt tiedot koodautuvat automaattisesti tällaisen viestin yhteyteen ja ne voidaan servletissä saada helposti selville.

3 10.2. LOMAKKEISTA 103 Toisen kysymyksen suhteen tilanne on valitettavasti sellainen, että servlettejä ja appletteja ei ole tehty kommunikoimaan keskenään! Perusajatus on, että servlettiä kutsutaan HTTP-protokollaa käyttäen. Voidaan toimia niin, että appletti avaa HTTP-yhteyden WWW-palvelimeen (ja jäsentää tuloksen vastauksena saamastaa HTML-sivusta), mutta tuolloin appletti tavallaan itse toimii selaimena selaimen sisällä vaikkakin mahdollista, niin kovin järkevää tällainen toiminta ei ole. Itse asiassa servletin ja appletin välille on mahdollista luoda myös soketti- ja/tai RMI-yhteys, mutta tämä ei ole kovin luonnollista ajatellen servlettien toimintaympäristöä. Tuolloin servlettejä käytettäisiin ohi niiden normaalin rajapinnan. Soketti- ja RMI-yhteyksiä ei käsitellä tässä yhteydessä Lomakkeista HTML-kielen lomakkeet 1 (engl. forms) ovat tapa välittää tietoa servleteille HTTP-protokollan yli. Servlettejä kutsuvat lomakkeet näyttävät HTML-koodissa seuraavalta: <FORM METHOD="POST" ACTION=" määrityksiä </FORM> METHOD-kohdassa määritellään käytettävä HTTP-protokollan komento. Arvo POST ei ole ainoa mahdollinen itse asiassa GET :n merkitys on sama kuin POST :kin. Niiden ero on lähinnä tekninen ja syy osittain vanhentunut GET :n yhteydessä on aikoinaan ajateltu lähetettävän vain hyvin vähän muuta tietoa ja POST :n yhteydessä voidaan lähettää vaikka tiedostoja asiakkaalta WWWpalvelimelle FORM:n määrityksistä FORM-määrityksen sisällä on lisää määrityksiä, joiden avulla voidaan muodostaa HTML-sivulle jo tutuksi tulleita yksinkertaisia GUI-komponentteja. Näistä määrityksistä tehdään seuraavaksi selkoa. Tarkemmin asiat on määritelty HTML 4.01:n määrittelyssä ( Kenttä Kenttä on määre, joka on muotoa <INPUT TYPE="tyyppi" NAME="nimi" VALUE="arvo"> Idea on, että määritellään nimi -niminen resurssi, jolla on alkuarvo arvo. Edellisessä tyypillä voi olla useita arvoja ja sen mukaan määräytyy WWW-sivulle syntyvä GUI-komponentti. Komponentin tyypin mukaan määräytyy tapa, jolla arvo voi muuttua. Mahdollisia arvoja tyypille ovat TYPE="text" Esittää tekstikenttäkomponenttia, johon voidaan kirjoittaa tekstiä. TYPE="radio" Esittää radionappulaa ja NAME:n arvo kertoo ryhmän. VALUE:lla voidaan välittää tieto siitä, mikä saman ryhmän radionappuloista painettu pohjaan. 1 Ks.

4 104 LUKU 10. WWW JA SERVLETIT TYPE="checkbox" Esittää valintaruutua. Toiminta on radionappuloiden tapaista, mutta NAME:a vastaava arvo esiintyy resurssina vain jos jokin kyseisen NAME-arvon omaavista valintaruuduista on painettu pohjaan. Resurssin VALUE:n arvona ovat kaikkien niiden valintaruutujen VALUE-osien arvot, joita vastaava kyseisen niminen valintaruutu on painettu pohjaan. TYPE="submit" Erityinen nappula, jota painamalla FORM:n ACTION osa käynnistyy. VALUEosalla voidaan asettaa nappulan teksti (oletusarvoisesti submit ). TYPE="reset" Tämä muodostaa myös nappulan kuten submit, mutta tarkoituksena on palauttaa painamisen seurauksena kaikkien kenttien arvo niiden alkuarvoiksi. TYPE="image" Kuten submit, mutta nappulan sisältönä kuva. TYPE="password" Kuten text, mutta esittää salasanakenttää. TYPE="file" Esittää tiedoston nimen valintatyökalua. Valittava tiedosto lähetetään HTTP-komennon mukana MIME-koodattuna, jos lomakkeen otsikossa on on seuraava määritys: ENCTYPE="multipart/mime". TYPE="hidden" Piilokenttä vakioarvon välittämiseksi. Esimerkiksi seuraava FORM-määrittely <FORM action=" method="post"> <P> First name: <INPUT type="text" name="firstname"><br> Last name: <INPUT type="text" name="lastname"><br> <INPUT type="text" name=" "><br> <INPUT type="radio" name="sex" value="male"> Male<BR> <INPUT type="radio" name="sex" value="female"> Female<BR> <INPUT type="submit" value="send"> <INPUT type="reset"> </P> </FORM> näyttää selaimessa seuraavalta

5 10.3. SERVLETTIEN TEKEMISESSÄ TARVITTAVIA LUOKKIA 105 Valintalista Valintalista on myös jo tuttu GUI-komponentti. HTML:n FORM:ien yhteydessä se määritellään seuraavasti <SELECT NAME="nimi"> <OPTION>Vaihtoehto nro1</option> <OPTION SELECTED>Vaihtoehto nro2</option> <OPTION>Vaihtoehto...</OPTION> </SELECT> Eli, kutakin vaihtoehtoa kohti määritellään <OPTION>-rivi. NAME on samassa roolissa kuin kentän yhteydessä. Tavallaan tämä on kenttä, jonka arvo valitaan annetusta joukosta. SELECTED tarkoittaa, että yksi on jo valittuna 2. Tekstialue Tekstikentän yleistys, tekstialue, on myös osana FORM:a. Sen määrittelyn muoto on pelkistetysti alla olevan muotoinen. ROWS ja COLS saavat arvokseen positiivisia kokonaislukuja. Muita <TEXTAREA NAME="nimi" ROWS="rivit" COLS="sarakkeet"> Tässä voi antaa tekstin oletusarvon. </TEXTAREA> Itse asiassa muitakin määreitä on mm. nappula, mutta niistä ei tehdä selkoa tässä yhteydessä Servlettien tekemisessä tarvittavia luokkia Servlettien tekemissä tarvittavat luokat eivät ole osa JDK:ta (ei edes versiossa 1.4), vaan ne löytyvät mm. Sunin JSDK-paketista 3. JSDK koostuu kahdesta paketista: javax.servlet ja javax.servlet.http. Niissä on n. 40 luokkaa tai rajapintaa. Olennaisimmat näistä ja niiden väliset perimyssuhteet on esitetty kuvassa 10.2 (italics-tyyliset ovat rajapintoja). Luokka Servlet on rajapinta, jonka toteuttavat abstraktit luokat GenericServlet ja HttpServlet. Servlet-luokalla ei ole juurikaan metodeja erityisesti ei yhtään suoraan liittyvää metodia; ks. taulukko Luokalla GenericServlet on jo aika runsaasti metodeja. Ne liittyvät lähes poikkeuksetta servlettiä kutsuvan tahon tietojen havainnointiin ja ylipäänsä hallinnollisiin asioihin. Tässäkään luokassa ei ole mitään liittyvää luokan GenericServlet metodeja ei tässä yhteydessä esitetä. Taulukkoon 10.2 on kerätty joitakin luokan HttpServlet metodeja itse asiassa kaikki muut hyödylliset metodit on peritty luokan GenericServlet kautta. Jokaista HTTP-protokollan mukaista komentoa kohti on luokassa metodi. Metodien muoto on täsmälleen sama metodien semantiikasta vastaa niiden toteuttaja. Oletusarvoisesti metodit eivät tee mitään. Huomaa, että periaatteessa voisi toimia niin, että lomakkeessa kutsuu DELETE-komennolla servlettiä, mutta (tiedoston) tuhoamisen sijaan voi vapaasti määritellä, miten servlettiolio reagoi kyseiseen komentoon. Metodien semantiikan tulisi kuitenkin olla HTTP-protokollan komentojen semantiikan mukaista. 2 Itse asiassa useitakin voidaan valita; katso tarkempi SELECT:n kuvaus HTML 4.01:n määrittelystä. 3 Ks.

6 106 LUKU 10. WWW JA SERVLETIT ServletResponse Servlet ServletRequest GenericServlet HttpServletResponse HttpServlet HttpServletRequest Cookie Kuva 10.2: Muutamia servletteihin liittyviä luokkia ja niiden väliset perimyssuhteet. void init(servletconfig c) Servlettiolion alustus; kutsutaan vain kerran; c tulee palvelimelta. void service(servletrequest rq, ServletResponse rs) Servletin kutsu ohjataan ensin tähän metodiin. Taulukko 10.1: Joitakin rajapinnan Servlet metodeja. Seuraavaksi esittelyvuorossa on rajapinta HttpServletRequest (taulukko 10.3). Sillä on varsin runsaasti havainnointimetodeja, joiden kautta voidaan havainnoida sitä, mitä tietoa HTTP-komennon yhteydessä on servlettioliolle välitetty. Rajapinnan HttpServletResponse metodeita on lueteltu taulukossa Lähinnä hyödyllisiä ovat muodostettavan sivun tyypin asettaminen, piparien liittäminen palautettavaan sivuun ja getwriter, jolla otetaan käyttöön tiedostovirta, jonne muodostettava sivu tulee kirjoittaa. Edellisten lisäksi hyödyllinen luokka on myös Cookie (taulukko 10.5), jolla on lähinnä konstruktori sekä metodeja pipariin (engl. Cookie) liittyvien ominaisuuksien asettamiseksi ja havainnoimiseksi. Piparin avulla palvelin voi tallettaa asiakkaaseen (siis asiakkaana olevan selainohjelman yhteyteen) tietoa itsestään ja yhteydestään tähän asiakkaaseen. Piparit ovat erittäin hyödyllisiä servlettien yhteydessä piparien tarkoitus on tarjota palvelimelle selaimesta muistipaikka, jonne se voi taltioida haluamaansa tietoa. Piparien olennaiset ominaisuudet on selitetty taulukon 10.5 yhteydessä Esimerkkejä Esimerkki HelloServlet Esimerkissä 10.1 on esitetty HTML-tiedosto, jolla on vain yksi nappula. Nappulan painamisen seurauksena kutsutaan (bg.cs.utu.fi-koneen) servlettiä HelloServlet (ja esitetään tuloksena saatava HTMLsivu).

7 10.4. ESIMERKKEJÄ 107 protected void dodelete(httpservletrequest rq, HttpServletResponse rs) Käsittelee HTTPprotokollan mukaisen DELETE-komennon. protected void doget(httpservletrequest rq, HttpServletResponse rs) Käsittelee HTTPprotokollan mukaisen GET-komennon. protected void dohead(httpservletrequest rq, HttpServletResponse rs) Käsittelee HTTPprotokollan mukaisen HEAD-komennon. protected void dooptions(httpservletrequest rq, HttpServletResponse rs) Käsittelee HTTP-protokollan mukaisen OPTIONS-komennon. protected void dopost(httpservletrequest rq, HttpServletResponse rs) Käsittelee HTTPprotokollan mukaisen POST-komennon. protected void doput(httpservletrequest rq, HttpServletResponse rs) Käsittelee HTTPprotokollan mukaisen PUT-komennon. protected void dotrace(httpservletrequest rq, HttpServletResponse rs) Käsittelee HTTPprotokollan mukaisen TRACE-komennon. protected void service(httpservletrequest rq, HttpServletResponse rs) Tätä metodia varsinaisesti kutsutaan WWW-selaimen toimesta; komennon mukaan tämä kutsuu edellisiä. Taulukko 10.2: Joitakin luokan HttpServlet metodeja. String getparameter(string p) Palauttaa lomakkeelta lähetetyn parametrin p arvon. Enumeration getparameternames() Kaikkien komennon yhteydessä välittyjen parametrien nimet. Cookie[] getcookies() Palauttaa sisääntulevat piparit! ServletInputStream getinputstream() Binäärinen lukuvirta lähetettyyn dataan. BufferedReader getreader() Sama tekstipohjaisena. String getcontenttype() Kertoo missä MIME-muodossa komennon yhteydessä välitettävä data tulee. int getcontentlength() Datan pituus. getremotehost, getremoteaddr, getremoteuser, getmethod, getservername, getserverport,... Taulukko 10.3: Joitakin rajapinnan HttpServletRequest metodeja. Esimerkki 10.1 HelloServlet.html HTML-tiedosto, joka käynnistää yksinkertaisen servletin. <html> <head><title> HelloServlet </title></head> <body> <h2> HelloServlet:n käynnistävä sivu </h2> <form method="get" action=" <input type=submit value="push"> </form> </body> </html>

8 108 LUKU 10. WWW JA SERVLETIT ServletOutputStream getoutputstream() Palauttaa binäärisen lähtevän virran. PrintWriter getwriter() Sama merkkipohjaisena; tällä toteutetaan sivujen kirjoittaminen. void setcontenttype(string c) Asettaa ulosmenevän sivun koodaukseksi c:n; esimerkiksi text/html. void senderror(int code, String msg) Palauttaa virheilmoitussivun takaisin virhekoodilla code ja viestillä msg. void addcookie(cookie c) Asettaa piparin lähtevään virtaan. Taulukko 10.4: Joitakin rajapinnan HttpServletResponse metodeja. Kuva 10.3: HelloServlet.html:n suorittaminen. Kuvassa 10.3 on esitetty tilanne, jossa selaimella suoritetaan lomakkeen sisältävää HTML-tiedostoa HelloServlet.html. Kuvassa 10.4 on vastaavasti tilanne, jossa HTML-sivun push -nappulan painamisen seurauksena on suoritettu esimerkissä 10.2 oleva servletti. Servletti on tuottanut kuvassa olevan HTML-sivun. Kuva 10.4: Tilanne HelloServlet.html:n push -nappulan painamisen jälkeen.

9 10.4. ESIMERKKEJÄ 109 Cookie(String name, String value) Konstruktori, joka luo piparin, jolla nimi name ja arvo value (RFC 2109). boolean getsecure() Onko turvallinen yhteys käytössä? HTTPS tai SSL. Voidaan asettaa (setxxx-metodi) ja havainnoida (getxxx-metodi) useita ominaisuuksia: kommentti (Comment) mikä on tämän piparin merkitys; voimassaoloaika (MaxAge) selain ei lähetä piparia enää takaisin, jos voimassaoloaika on mennyt umpeen; URL-polku (Path) määrittää polun palvelimen sisältä; aina kun selain pyytää jotain sivua, jonka etuliitteenä on tämä polku, lähetetään tämä pipari komennon mukana; oletusarvoisesti piparit liittyvät vain siihen sivuun, jonka yhteydessä ne ensimmäisen kerran välitettiin selaimelle; domain-nimi (Domain) edellisen laajennos, pipari voidaan välittää nyt URL:ään liittyvän domain nimen mukaan; arvo (Value) merkkijono, joka sisältää sen datan, jonka palvelin haluaa piparin mukana taltioida selaimeen; nimi (Name) piparin nimi; versionumero (Version) tuetaan versioita 0 & 1 (RFC 2109); ja turvallisuus (Secure) onko pipari välitetty turvallisen yhteyden yli. Taulukko 10.5: Joitakin luokan Cookie metodeja. Esimerkki 10.2 HelloServlet.java yksinkertainen servlettiohjelma. import javax.servlet. ; import javax.servlet.http. ; import java.io. ; public class HelloServlet extends HttpServlet { public void doget(httpservletrequest rq, HttpServletResponse rs) throws IOException, ServletException { rs.setcontenttype("text/html"); PrintWriter out = rs.getwriter(); out.println("<html>"); out.println("<title> Hello there! </title>"); out.println("<body>"); out.println("<img SRC= ALT=>"); out.println("<h1> Tervehdys! </h1>"); out.println("<img SRC= ALT=>"); out.println("</body></html>"); } // doget } // class HelloServlet

10 110 LUKU 10. WWW JA SERVLETIT Esimerkissä 10.2 oleva ohjelma perii HttpServlet luokalta kaikkiin HTTP-protokollan komentoihin reagoivat metodit, mutta antaa uuden toteutuksen vain yhdelle niistä: doget :lle. Huomaa, miten metodin toteutuksessa ei välitetä lainkaan siitä, mitä servlettioliolle annetaan HttpServletRequesttyyppisen parametrin kautta, vaan servletti vain vakiomuotoisesti kirjoittaa vastauksena HTML-sivun ServletResponse-tyyppiseen parametriin liittyvän tiedostovirran kautta Esimerkki hieman monimutkaisemmasta servletistä Esimerkissä 10.3 on esitetty HTML-tiedosto, jossa käytetään useita kohdassa 10.2 kuvattuja lomakkeen komponentteja.

11 10.4. ESIMERKKEJÄ 111 Esimerkki 10.3 LomakeServlet.html HTML-tiedosto, joka käynnistää lomakkeen tiedot vastaanottavan servletin. <html> <head> <title> Lomakkeen välittämistä... </title> </head> <body> <p> Täytä seuraavat ja paina lopuksi lähetä. </p> <form method=post ENCTYPE="multipart/mime" ACTION= <input type=hidden name="piiloarvo" value="oletusarvo"> <p> Nimi: <input type=text name="kentta1" value=""> </p> <p> Osoite: <input type=text name="kentta2" value="osoite"> </p> <p> Salasana: <input type=password name="kentta3" value=""> </p> <p> Opinnot aloitettu: <select name="opinnot"> <option> muu </option> <option selected> 1999 </option> <option> 2000 </option> <option> 2001 </option> </select> <p> Valitse jokin: <input type=radio name="valinta" value="1999"> <input type=radio name="valinta" value="2000"> <input type=radio name="valinta" value="2001"> </p> <p> Valitse tiedosto: <input type=file name="tiedosto" accept="html"> </p> <p> <input type=reset value="resetoi"> <input type=submit value="lähetä"> </p> </form> </body> </html> Kuvassa 10.5 on esitetty tilanne, jossa selaimella suoritetaan LomakeServlet.html -tiedostoa. Kuvassa 10.6 on vastaavasti tilanne, jossa HTML-sivun lähetä -nappulan painamisen seurauksena on suoritettu esimerkissä 10.4 oleva servletti. Servletti on tuottanut kuvassa olevan HTML-sivun.

12 112 LUKU 10. WWW JA SERVLETIT Kuva 10.5: LomakeServlet.html:n suorittaminen. Esimerkki 10.4 Servletti, joka vain selvittää, mitä parametrien kautta sille on lähetetty. import javax.servlet. ; import javax.servlet.http. ; import java.io. ; public class LomakeServlet extends HttpServlet { public void dopost(httpservletrequest rq, HttpServletResponse rs) throws IOException, ServletException { String[] q = { "PiiloArvo", "Kentta1", "Kentta2", "Kentta3", "Opinnot", "Valinta", "Tiedosto" }; rs.setcontenttype("text/html"); PrintWriter out = rs.getwriter(); out.println("<html>"); out.println("<title> Vastaanotettiin seuraavaa </title>"); out.println("<body>"); for (int i=0; i<q.length; i++) { out.print("<p> " + q[i] + "= "); out.print(rq.getparameter(q[i])); out.println("</p>"); } out.println("</body></html>"); } // dopost } // class LomakeServlet Esimerkin 10.4 ohjelma muodostaa myös HTML-sivun, mutta esimerkistä 10.2 poiketen käyte-

13 10.5. LOPUKSI 113 Kuva 10.6: Tilanne LomakeServlet.html:n lähetä -nappulan painamisen jälkeen. tään hyväksi HttpServletRequest-tyyppisen parametrin kautta välitettyjen parametrien arvoja. Arvojen sisältö vain tulostetaan sivun sisällöksi Lopuksi Servletit ovat WWW-palvelimessa olevia olioita, joita voidaan HTTP-protokollaa käyttäen kutsua ne säilyttävät tilansa kutsusta toiseen. Koska servlettiä käytetään kautta, servlettien pääasiallinen toimintaidea on dynaaminen HTML-sivujen generointi ja toisaalta työn osittainen siirtäminen palvelimelle. Servlet applet -keskustelu on periaatteessa mahdollinen, esimerkiksi soketeilla ja RMI:llä (käytetään säikeitä apuna), mutta sellainen keskustelu ohittaa HTTP-protokollan. Keskustelun saa toki myös aikaan HTTP-protokollan avulla, mutta tuolloin appletti joutuu esimerkiksi jäsentämään tuloksen servletin lähettämästä HTML-sivusta (hyvin epäluonnollista). HTTP-protokollan yhteydettömyyteen saadaan ratkaisuja pipareista ja siitä, että servlettioliot säilyttävät tilansa (niin kauan kun WWW-palvelin on pystyssä). Piparit tuovat selkeästi erään ratkaisu useiden samanaikaisten käyttäjien erotteluun servletin kannalta. Usein servlettien avulla halutaan tallettaa (lomakkeen kautta syötettyjä) tietoja tietokantaan tai vastaavasti lukea joitakin tietoja tietokannasta. Tähän tarkoitukseen servletit soveltuvat erittäin hyvin. Eräs näppärä tapa toteuttaa sivusto servlettien avulla on olla kirjoittamatta lainkaan HTML-sivuja. HTML-sivut voidaan nimittäin koodata osaksi servlettiä. Voidaan toimia niin, että servletin doget - metodi palauttaa HTML-sivun, jossa on mukana lomake, joka kutsuu samaa servlettiä POST-menetelmällä, käyttäen siis sen dopost -metodia. Servletteihin liittyy läheisesti myös esimerkiksi JSP (Java Server Pages), mutta sitä ei tämä oppimateriaalin puitteissa käsitellä. Lopuksi pitää hieman harmillisesti todeta, että vaikka HTML-sivujen

14 114 LUKU 10. WWW JA SERVLETIT avulla on mahdollista lähettää tiedostoja MIME-koodatusti servlettioliolle, niin kyseisten tiedostojen jäsentämistä ei ole toteutettu juuri missään erityisesti Javan luokkakirjastoista ei löydy tukea asialle (tämän luvun alussa mainitussa kirjassa tosin näytetään, miten se on mahdollista tehdä).

HSMT Web-sovellustekniikoista

HSMT Web-sovellustekniikoista HSMT Web-sovellustekniikoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/29 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

ICT1TN004. Lomakkeet. Heikki Hietala

ICT1TN004. Lomakkeet. Heikki Hietala Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen

Lisätiedot

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeet Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeen tyylit kannattaa määritellä omaan, eriliseen,

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003

JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003 1(27) JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003 mahdollistaa dynaamisen web-sisällön luonnin eli HTML-.DHTML-, XHTML- ja XML-dokumentit luodaan palvelimella dynaamisesti

Lisätiedot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

Lisätiedot

Lomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome

Lomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome Lomakkeet HTML5 Elina Ulpovaara Testaus: IE9 Firefox7 Opera11 Chrome SELAIN Käyttäjä täyttää lomakkeen ja painaa lähetys-painiketta. Selain lähettää käyttäjän antamat tiedot palvelimelle lomakkeessa määrättyyn

Lisätiedot

directive attr1= value1 attr2= value2 %>

directive attr1= value1 attr2= value2 %> HAAGA-HELIA OHJELMISTOKEHITYS 1(14) -elementti on olemassa kolmenlaisia elementtejä: A) Direktiivit A) Direktiivejä (directive element) B) Skriptejä (scripting selement) C) Toimintoelementtejä (action

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

koodipolku iteraation muokkauksessa Dokumentti: koodipolkuesimerkki.doc Päiväys: Projekti : AgileElephant

koodipolku iteraation muokkauksessa Dokumentti: koodipolkuesimerkki.doc Päiväys: Projekti : AgileElephant AgilElephant Koodipolku iteraation muokkauksessa Tekijä: Pauli Vesterinen Omistaja: ElectricSeven Aihe: Koodipolku iteraation muokkauksessa Sivu 1 of 15 Dokumentti Historia Muutoshistoria Revision Numero

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G

TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G 1 Tehtävänäsi on määritellä tietokantaan KisatSVNL.mdb lomake Kilpailut ohessa olevan mallin mukaan. Lomake on tarkoitettu kilpailutietojen lisäykseen, selailuun

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu 26.3.2004 Harri Laine 1 Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Digitaalisen median tekniikat xhtml - jatkuu 30.4.2004 Harri Laine 1 XHTML lomakkeet Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Kehykset IFRAME - elementti (inline frame) mahdollistaa kehysten upottamisen myös muihin kuin frameset.dtd:n mukaisiin dokumentteihin IFRAME toimii

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään

Lisätiedot

Helsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot

Helsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot Relaatiotietokantaan tallennetaan määrämuotoista tietoa Vapaamuotoisen tekstin talletukseen tekstitietokannat hakuindeksejä saattavat käyttää relaatiotietokantaa tekstin tallentamiseen rivipohjainen tai

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance)

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance) Sisällys JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys Periytyminen (inheritance) Näkyvyys (visibility) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E. Hyvönen: Java Osa

Lisätiedot

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2 26. Tiedostot 26.1 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2 Johdanto Tiedostoja on käsitelty uudelleenohjattujen standardisyöte- ja tulostusvirtojen avulla. Tiedostoja

Lisätiedot

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet Web-lomakeet ovat verkkopalvelun tekninen perusta; käyttäjän syötteen välittäminen tapahtuu käytännössä aina lomakkeiden avulla Esimerkkejä lomakkeiden käytöstä: yksinkertaiset toiminnot: palautelomake,

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

14. Poikkeukset 14.1

14. Poikkeukset 14.1 14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

4. Luokan testaus ja käyttö olion kautta 4.1

4. Luokan testaus ja käyttö olion kautta 4.1 4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään

Lisätiedot

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Salasanojen turvallinen tallentaminen KeePass ohjelmalla Salasanojen turvallinen tallentaminen KeePass ohjelmalla KeePass on vapaasti saatavilla oleva, avoimen lähdekoodin ohjelma, jonka tarkoituksena on auttaa salasanojen hallinnassa. Tämä KeePass ohje on päivitetty

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

10 Lomakkeet Kontrollit. 10 Lomakkeet

10 Lomakkeet Kontrollit. 10 Lomakkeet 154 Suurin osa HTML-dokumenteista on tarkoitettu vain selailtaviksi ja katseltaviksi ilman, että katselijan rooli olisi ollut muuta kuin passiivinen. Lisäämällä dokumenttiin lomake-elementti, voidaan pieni

Lisätiedot

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla

Lisätiedot

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

Tikon ostolaskujen käsittely

Tikon ostolaskujen käsittely Toukokuu 2013 1 (7) 6.3.0 Copyright Aditro 2013 Toukokuu 2013 2 (7) Sisällysluettelo 1. Käyttäjäasetukset... 3 2. Yleiset parametrit... 3 3. Kierrätysasetukset... 3 4. palvelimen tiedot... 4 5. lähetyksen

Lisätiedot

16. Javan omat luokat 16.1

16. Javan omat luokat 16.1 16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely Poikkeukset Poikkeuksella tarkoitetaan yllättävää ajonaikaista tilannetta, joka

Lisätiedot

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma. Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä

Lisätiedot

Contact Form 7 -lomakkeen yhdistäminen Timeline Manageriin

Contact Form 7 -lomakkeen yhdistäminen Timeline Manageriin Contact Form 7 -lomakkeen yhdistäminen Timeline Manageriin Tarvittavat Wordpress-lisäosat 1. Contact Form 7 https://wordpress.org/plugins/contact-form-7/ Mahdollistaa Contact Form 7 -lomakkeiden luomisen

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT MOBISITE-TYÖKALU MobiSite on työkalu matkapuhelimeen soveltuvan mobiilisivuston rakentamiseen. AIMO-järjestelmän jatkuvasti päivittyvä päätelaitetunnistus tunnistaa useimmat puhelinmallit ja mukauttaa

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2 6. Tiedostot 6.1 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2 Johdanto Tiedostoja on käsitelty uudelleenohjattujen standardisyöteja tulostusvirtojen avulla. Tiedostoja voidaan

Lisätiedot

14. Poikkeukset 14.1

14. Poikkeukset 14.1 14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla

Lisätiedot

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

Lisätiedot

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi. 11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.

Lisätiedot

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2 6. Tiedostot 6.1 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2 Johdanto Tiedostoja on käsitelty uudelleenohjattujen standardisyöte- ja tulostusvirtojen avulla. Tiedostoja voidaan

Lisätiedot

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 1 JAVA RMI Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 2 Table of Contents...1 JAVA RMI...1 Yleistä...4 Arkkitehtuuri...5 Java RMI kerrosarkkitehtuuri...5

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma

Lisätiedot

Tikon ostolaskujen käsittely

Tikon ostolaskujen käsittely Toukokuu 2014 1 (8) Toukokuu 2014 2 (8) Sisällysluettelo 1. Käyttäjäasetukset... 3 2. Yleiset parametrit... 3 3. Kierrätysasetukset... 3 4. palvelimen tiedot... 4 5. lähetyksen aktivointi... 5 6. Eräajot

Lisätiedot

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

Sisällys. 11. Rajapinnat. Johdanto. Johdanto Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely 1 Ominaisuudet Kun tutkimme työasemapohjaisia sovelluksiamme, tarvitaan joskus tietoa: mikä on käyttöjärjestelmä mikä on käytössä oleva

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 1 WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 10.4.2015 Lounea Oy Tehdaskatu 6, 24100 Salo Puh. 029 707 00 Y-tunnus 0139471-8 www.lounea.fi Asiakaspalvelu 0800 303 00 Yrityspalvelu 0800 303 01 Myymälät 0800 303

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

9. Periytyminen Javassa 9.1

9. Periytyminen Javassa 9.1 9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.

Lisätiedot

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) 1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä.

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä. Y K S I K Ä Ä N A S I A K A S E I O L E M E I L L E LI I A N P I E NI TAI M I K Ä Ä N H A A S T E LI I A N S U U R I. Android Sähköpostin määritys Määrittämällä sähköpostitilisi Android-laitteeseesi, voit

Lisätiedot

Pedacode Pikaopas. Web-sovelluksen luominen

Pedacode Pikaopas. Web-sovelluksen luominen Pedacode Pikaopas Web-sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Netbeans-työkalulla luodaan uusi yksinkertainen web-sovellus ja testataan sen toiminta. Opas kattaa kaiken aiheeseen

Lisätiedot

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. StorageIT 2006 varmuuskopiointiohjelman asennusohje. Hyvä asiakkaamme! Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. Ennen asennuksen aloittamista Varmista, että

Lisätiedot

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

Lisätiedot

Palvelinpuolen ohjelmointi

Palvelinpuolen ohjelmointi Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset

Lisätiedot

815338A Ohjelmointikielten periaatteet

815338A Ohjelmointikielten periaatteet 815338A Ohjelmointikielten periaatteet 2015-2016 VIII Poikkeusten ja tapahtumien käsittely Sisältö 1. Poikkeusten käsittelyn käsitteitä ja suunnittelukriteerejä 2. Poikkeusten käsittely C++:ssa 3. Poikkeusten

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003

JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003 1(63) JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003 mahdollistaa dynaamisen web-sisällön luonnin eli HTML-.DHTML-, XHTML- ja XML-dokumentit luodaan palvelimella dynaamisesti

Lisätiedot

Uutta Remote Support Platform 3.1 -versiossa

Uutta Remote Support Platform 3.1 -versiossa What's New Asiakirjaversio: 1.0 2014-05-09 Asiakirjaversiot Seuraavassa taulukossa esitellään asiakirjan tärkeimmät muutokset. Versio Pvm Kuvaus 1.0 2014-05-09 Ensimmäinen versio 2 All rights reserved.

Lisätiedot

TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN

TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN YLEISTÄ LUENNOT (8 H) & TYÖPAJA (2 H) YHTEYSTIEDOT ville.salminen@oulu.fi VÄLINEET Tekstieditori Mieluummin Windowsin Notepad kuin esimerkiksi Microsoft Word

Lisätiedot

KIURU Tietotekniikan sovellusprojekti

KIURU Tietotekniikan sovellusprojekti KIURU Tietotekniikan sovellusprojekti Toni Hilpinen Marko Koivuniemi Jussi Mäkinen Miika Nurminen DOKUMENTIN NIMI dd.mm.yyyy Jyväskylän yliopisto Tietotekniikan laitos Kiuru-projektin tietoja Tekijät:

Lisätiedot

UCOT-Sovellusprojekti. Asennusohje

UCOT-Sovellusprojekti. Asennusohje UCOT-Sovellusprojekti Asennusohje Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 1.00 Julkinen 15. joulukuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

ASP ja DHTML. 27.8.2004 Seppo Räsänen

ASP ja DHTML. 27.8.2004 Seppo Räsänen ASP ja DHTML 27.8.2004 Seppo Räsänen Liite 3 Sisällys 1 Tietokantojen käyttö sivuilla ASP-tekniikka...3 1.1. ASP ja VBScript...3 1.2. ASP ja J(AVA)Script...9 1.3. ASP ja Access...9 Lähteet...9 Himapizza-esimerkki...10

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

1 www-sivujen teko opetuksessa

1 www-sivujen teko opetuksessa RäsSe, Tekniikka/Kuopio Sivu 1 1 www-sivujen teko opetuksessa 1.1 Yleistä Mitä materiaalia verkkoon? Tyypillisesti verkossa oleva materiaali on html-tiedostoja. Näitä tiedostoja tehdään jollakin editorilla

Lisätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

Lisätiedot