Sunin määrittelemä JSP 1.1 (javaserver pages) yhdistää

Koko: px
Aloita esitys sivulta:

Download "Sunin määrittelemä JSP 1.1 (javaserver pages) yhdistää"

Transkriptio

1 TEKSTI: PASI KOVANEN "Taas uusi tekniikka dynaamisten webbisivujen tekoon?!", parahtavat naavapartaiset Perl- ja asp-gurut ja kääntävät sivua. Malttakaa kuitenkin hetki, sillä JavaServer Pages tarjoaa lukuisia parannuksia vanhempiin tekniikoihin. JavaServer Pages Dynaamista PC WORLD web-ohjelmointia Sunin määrittelemä JSP 1.1 (javaserver pages) yhdistää Microsoftin ASP:n (active server pages) ja wwwpalvelimella ajettavien Java-ohjelmien eli servletien parhaat puolet. Siinä missä ASP on tulkattava kieli, perustuu JSP tavallisiin käännettyihin servleteihin. Tämän ansiosta JSP on huomattavasti ASP:tä suorituskykyisempi. Www-sivujen suunnittelijalle JSP-sivu näyttää ASP-sivun kaltaiselta. Ohjelmakoodin tunnisteena käytetään samoja <% %> -tageja, joten sivujen muokkaus onnistuu myös vaikka Dreamweaver-editorilla. Mutta siihen yhtäläisyydet oikeastaan loppuvatkin. Palvelimelle määritellään tiedostopäätteet, jotka sisältävät JSP-koodia. Yleensä päätteenä käytetään.jsp:tä. Kun web-palvelimelta pyydetään tällaista sivua ensimmäisen kerran, käy niin sanottu JSP container -sovellus sivun läpi ja generoi siitä tavallista java-koodia, joka käännetään servletiksi. Koodi tallennetaan erityiseen cache-hakemistoon, josta sitä voi tarkastella. Tarvittaessa JSP-sivuilla voidaan käyttää Javan sijasta muitakin ohjelmointikieliä, mikä tosin on harvinaista. Nirso JSP-parseri ymmärtää vain JSP-tageja ja päästää kaikki muut merkit läpi tulostamalla ne yksinkertaisesti out.print()- metodilla. JSP-tagien sisällä oleva koodi taas kopioidaan sellaisenaan servletiin generoidun koodin sekaan. JSP-tekniikkaa voidaankin käyttää lähes minkälaisten sivujen generointiin tahansa, mukaanlukien xml ja wml. Sitä voi hyödyntää myös tavallisten tekstitiedostojen päivittämisen automatisointiin. JSP-sivun ensimmäinen lataus kestää servletin koodin generointiin ja java-tavukoodiksi kääntämiseen menevän ajan, yleensä joitakin sekunteja. Seuraavilla kerroilla palvelin vertaa sivun ja siitä generoidun servletin aikaleimoja toisiinsa. Niiden ollessa samat hoitaa valmis palvelinohjelma pyynnön käsittelyn. Sivun muuttuessa osaa palvelin ottaa uuden servletin automaattisesti käyttöön. TARKKAA HOMMAA Nykyiset html-editorit eivät osaa tarkistaa sivujen JSP-osuuksia. Yksikin virhe estää generoidun servletin kääntämisen, mikä ilmenee keskeytyksenä ja kutsupinon tulostumisena. Virheiden etsimiseen joutuu usein käyttämään web-palvelimen lokia, jonne käännösvaiheen virheet tulostuvat. Virhetilanteiden vaikutusta käyttäjille voi vähentää erillisillä virhesivuilla, joille suoritus siirretään, jos sivun käsittelyssä tapahtuu virhe. Käännösvirheiden lisäksi generoitu servlet tai sen kutsumat beanit voivat aiheuttaa myös ajonaikaisia virheitä. Niiden metsästäminen saattaa joskus olla haastavaa, mutta apuna voi käyttää servletien debuggaamiseen tarkoitettuja ohjelmistoja. PAPUPATA PORISEMAAN JavaBeansit eli beanit ovat Java-luokkia, jotka noudattavat määriteltyä nimeämiskäytäntöä. Alunperin rajapinta luotiin käyttöliittymäkomponenttien käsittelyä yhtenäistämään, mutta se soveltuu mainiosti myös JSP:n kaltaisiin tekniikoihin. Yksinkertaisimmillaan beania käytetään pelkästään tiedon säilyttämiseen. Ohjelmakoodin listauksessa 1 oleva KahviPapubean sisältää yhden luokkamuuttujan "laatu" ja ns. getter-metodin muuttujan arvon lukemiseen (getlaatu()) sekä setter-metodin arvon asettamiseen (setlaatu()). Boolean-totuusarvojen lukemiseen voidaan käyttää lisäksi issuodatinkarkeus()-nimeämistä. Metodit voisi toki nimetä poikkeavastikin, mutta JSP tarjoaa suoran tuen tätä muotoa noudattaville beaneille. Jättämällä pois getter- tai setter-metodi voidaan arvon lukeminen tai muuttaminen estää. Tällainen esimerkki löytyy listauksesta 2, josta kaikessa epäloogisuudessaan on jätetty pois eurojen määrän asettaminen. Sen sijaan beanin arvoa "markat" kutsutaan liipaisinarvoksi (trigger property), koska sen muuttaminen aiheuttaa automaattisesti myös vastaavan eurojen määrän laskemisen. Beanit toteuttavat usein Serializable-rajapinnan. Sen avulla 54 MikroPC 5 / 2001 W W W. M I K R O P C. N E T

2 L I S T A U K S E T 1 J A 2 L I S T A U S 1 Yksinkertainen JavaBean package fi.mikropc.jspdemo; import java.io.serializable; public class KahviPapu implements Serializable { private String laatu = ""; public String getlaatu() { return laatu; public void setlaatu(string laatu) { this.laatu = laatu; L I S T A U S 2 Markat euroiksi muuntava bean package fi.mikropc.jspdemo; import java.io.serializable; public class Euromuunnin implements Serializable { private double markat = 0; private double eurot = 0; public double getmarkat() { return markat; public void setmarkat(double markat) { this.markat = markat; this.eurot = markat / ; public double geteurot() { return eurot; ja beanin arvoa muutetaan tagilla: <jsp:setproperty name="omapapu" property="laatu" value="espresso"/> JSP osaa automaattisesti kutsua oikeaa getter- tai setter-metodia. getproperty-esimerkki voitaisiin korvata myös seuraavalla javakoodin pätkällä: <% out.print(omapapu.getlaatu()); %> Tagimuoto on kuitenkin selkeämpi lukea ja se erottaa esityksen toteutuksesta: valittuun kohtaan sivua halutaan beanin "omapapu" arvo "laatu". Sivun kannalta ei ole kiinnostavaa, että arvo saadaan itse asiassa kutsumalla beanin metodia getlaatu(). Lisäksi BeanInfo-luokan avulla itse pyyntö voikin olla konepellin alla ohjattu aivan toiselle metodille. Tagimuodolla on lisäksi vielä yksi valttikortti: automaattiset tyyppimuunnokset. JSP huolehtii jsp:getpropertyn palauttaman tyypin muuttamisesta String-olioksi. Vastaavasti se muuntaa jsp:setpropertyn value-arvon kyseisen setter-metodin tietotyyppiä vastaavaksi. Sivuille voi sijoittaa myös lausekkeiden (expression) arvoja: <%= omapapu.getlaatu() %> Lausekkeita voi käyttää esimerkiksi edellä esitettyyn tapaan sisällyttämään metodikutsun paluuarvon sivulle. Lauseke voi kuitenkin olla mikä tahansa Java-lauseke ja sisältää jopa kommentteja: <%= 40 * /* 40 euroa markkoina */ %> palvelin voi tallettaa beanin levylle tai lähettää sen esimerkiksi toiselle palvelimelle kuormanjakoa varten. VAIN MUUTAMAN TAGIN TÄHDEN Beanien käsittelyyn JSP tarjoaa kolme tagia, joissa käytetään xml-standardin mukaista esitysmuotoa. Beanin määrittelyyn käytetään tagia: JSP huolehtii myös lausekkeiden tyyppimuunnoksista. Huomaa, että lausekkeen perässä ei ole puolipistettä. Beaniin voi kuulua lisäksi indeksoituja arvoja. Esimerkiksi arvo viikonpaivat voisi sisältää seitsemän arvoa. Tagit eivät tar- Sanasto <jsp:usebean id="omapapu" class="fi.mikropc.jspdemo.kahvipapu"/> Tagin jälkeen voidaan sivulla hyödyntää fi.mikropc. jspdemo.kahvipapu-luokkaan kuuluvaa oliota tunnisteella "omapapu". Koska koko komento sisältyy tagiin, suljetaan tagi sen lopussa olevalla kauttaviivalla. Komennon lopettamiseen voitaisiin käyttää myös erillistä sulkutagia </jsp:usebean>. usebean-komento kuuluu jsp-nimiavaruuteen. Xml:n määrittelemät nimiavaruudet estävät nimeämiskonflikteja. Bean täytyy sijoittaa web-palvelimen classpath-polkuun, jotta palvelin sen löytäisi. Beania muutettaessa täytyy palvelin uudelleenkäynnistää, jotta uusi versio beanista tulee käyttöön. Listauksen 1 beanin ainoa arvo haetaan sivulle tagilla: <jsp:getproperty name="omapapu" property="laatu"/> Servlet ASP JSP JavaBeans IIS JavaScript Scripletti Www-palvelimessa toimiva java-ohjelma. (active server pages) Microsoftin IIS-www-palvelimissa käytetty ohjelmistotekniikka. Mahdollistaa dynaamiset sivustot ja yhteydet tietokantaan. (JavaServer Pages). Helposti käyttöönotettava ASP:n tapainen skiptauskieli dynaamisten web-sivujen tekoon. Java-luokkia, jotka noudattavat määriteltyä nimeämiskäytäntöä. (Internet Information Server) Microsoftin wwwpalvelinohjelmisto. Java-sovellusten toimintaa ohjaava pienohjelma, joka on upotettu www-sivulle. Www-sivu, jossa on dynaamisella html:llä koodattuja ja skriptikielellä ohjattavia osia. W W W. M I K R O P C. N E T MikroPC 5 /

3 L I S T A U K S E T 3, 4, 5 J A 6 L I S T A U S 3 euromuunnin.html Lomake, joka pyytää käyttäjältä markkamäärän ja lähettää sen eurot.jsp-sivun käsiteltäväksi: <form action="eurot.jsp"> Anna markkamäärä: <input type="text" name="markat"><br> <input type="submit" value="muunna"> </form> L I S T A U S 4 eurot.jsp Euromuunnin ilman beania (kutsutaan euromuunnin.html-lomakkeen kautta): <%= request.getparameter("markat")%> markkaa on:<br> <strong><%= Integer.parseInt(request.getParameter("markat")) / %></strong> euroa. <jsp:setproperty name="omapapu" property="markat" param="markat"/> </jsp:usebean> <jsp:getproperty name="omapapu" property="markat"/> markkaa on:<br> <strong><jsp:getproperty name="omapapu" property="eurot"/></strong> euroa. L I S T A U S 6 eurotaulukko.jsp Taulukon generointi ja toistorakenteen käyttäminen JSP-sivulla: <jsp:usebean id="omapapu" class="fi.mikropc. jspdemo.euromuunnin"/> <table> <tr><td>markkoja</td><td>euroja</td></tr> <% for (int i = 1; i <= 20; i++) { omapapu.setmarkat(i); %> <tr><td><jsp:getproperty name="omapapu" property="markat"/></td> <td><jsp:getproperty name="omapapu" property="eurot"/></td></tr> <% %> </table> L I S T A U S 5 eurot.jsp Euromuunnin beanin avulla (kutsutaan euromuunnin.html-lomakkeen kautta): <jsp:usebean id="omapapu" class="fi.mikropc.jspdemo.euromuunnin"> joa kuitenkaan mahdollisuutta indeksin välittämiseen, joten tällaisten arvojen käsittely pitää tehdä java-koodilla: <% omapapu.setviikonpaivat(0, "maanantai"); %> Muuttujien arvojen käsittelyn lisäksi beanit voivat tietysti sisältää minkälaisia ja -nimisiä metodeja tahansa. KEVÄÄN MUOTIKAMPAUS SCRIPLETTI Suoraan JSP-sivulle kirjoitettua ohjelmakoodia kutsutaan scripletiksi. Listaus 4 näyttää, miten listauksen 3 mukaisen html-sivun lomakkeen tiedot käsitellään kirjoittamalla koodi suoraan lomakkeen käsittelevälle JSP-sivulle. Request-olio sisältää sivulle saapuneen http-pyynnön, josta annettu markkamäärä luetaan. Koska scripletien sisältö kopioidaan sellaisenaan servletiin, voi scripletejä hyödyntää monipuolisesti. Kannattaa kuitenkin käyttää harkintaa, sillä suuret määrät ohjelmakoodia, monimutkaiset toistorakenteet ja etenkin out.print-komentojen sisällä olevat html-ohjauskoodit tekevät sivun rakenteesta sekavan. Ohjelmakoodi on syytä sijoittaa mahdollisuuksien mukaan beaneihin. Vastaava euromuunnin on toteutettu listauksessa 5 ai- 56 MikroPC 5 / 2001 W W W. M I K R O P C. N E T

4 emmin esiteltyä listauksen 2 beania käyttäen. Listauksessa 6 on scripleteillä tehty taulukko. Sivu luo taulukon, jossa on 1 20 markan arvot euroina. Saman voisi toteuttaa myös lisäämällä beaniin taulukon palauttavan metodin generoi- Taulukko(). Tämä tekisi sivusta huomattavasti selkeämmän lukea mutta piiskaa sille, joka moisen metodin koodaa. Jos myöhemmin haluttaisiin muuttaa mitä tahansa, esimerkiksi korvata "markat" lyhenteellä mk tai "eurot" (euromerkki!)-symbolilla, pitäisi muutokset tehdä suoraan beaniin. PULLEAT PUSKURIT Toisin kuin hätäinen voisi luulla, JSP-sivulle sijoitettu komento <% out.print("veijo was here"); %> ei suinkaan tuo välittömästi Veijon puumerkkiä selaimen näyttöön. JSP:n out-olio kuuluu javax.servlet.jsp.jspwriter-luokkaan, ja tämän olion kautta tehtävä tulostus tapahtuu normaalisti puskuroituna. Puskurin oletuskoko on kahdeksan kilotavua, mutta sitä voi tarvittaessa kasvattaa tai puskurin voi poistaa käytöstä kokonaan. Puskuroinnin ansiosta sivulla voidaan muuttaa http-vastauksen (response) otsaketietoja tai siirtää suoritus toiselle sivulle, kunhan puskuria ei vielä ole kertaakaan tyhjennetty. Suoritus siirretään toiselle sivulle tagilla: SCOPE-ARVON VAIKUTUS BEANIN ELINIKÄÄN Scopen arvo Beanin elinikä Page Vain sivu, jossa bean määritellään <jsp:usebean>-tagilla. Request Sivu, jossa bean määritellään ja kaikki mahdolliset sivut, joita siihen sisällytetään tai joille suoritus siirretään. Session Nykyinen ja kaikki tulevat kutsut session eliniän aikana. Application Nykyinen ja kaikki tulevat kutsut, jotka kuuluvat samaan sovellukseen. Sovellus sisältää sivut, jotka ovat nykyisen sivun hakemistossa tai jossain sen alihakemistossa. Esimerkiksi /acme/tuotteet/hilavitkutin.jsp kuuluu samaan sovellukseen kuin /acme/tilaus.jsp. <jsp:forward page="uusisivu.jsp"/> JSP-sivulle voidaan myös sisällyttää toisen tiedoston sisältö: <jsp:directive.include file="mainosbanneri.html"/> Toiminnaltaan tagi vastaa C:n esiprosessoijan #include-komentoa. Include-tagien määrää sivulla ei ole rajoitettu. Tiesitkö, että maailman käytetyin raportointiohjelmisto on Crystal Reports? Nyt julkistettu uusi versio 8.5 perustuu entistä vahvemmin webraportointiin. Yksi uusista parannuksista on täydellinen yhteensopivuus myös XML-tietokantaan. Näin WAP-raportit tulivat mahdollisiksi suoraan tietokannastasi. Voit halutessasi asettaa raportit päivittymään automaattisesti! Crystal Reportsin virallinen maahantuoja Datium Oy on erikoistunut Crystal Decisionsin tuotteilla tehtäviin raportointiprojekteihin. Jos haluat uudistaa yrityksesi raportoinnin, voimme tehdä sen teille alusta loppuun. rationalize your future Tutustu myös koulutustarjontaamme ja tarkista jälleenmyyjäsi osoitteessa Datium Oy, Ohjelmakaari 1, Jyväskylä / puh: / fax: / / sales@datium.fi

5 TÄYSISTUNTOJA Html:n siirtämiseen käytetty http ei tarjoa minkäänlaista tilatietoisuutta. Selain ottaa yhteyden palvelimeen, pyytää siltä haluamansa sivun ja sen saatuaan röyhkeästi katkaisee yhteyden edes hyvästelemättä. Istuntojen (session) hallinta on kuitenkin oleellinen osa useita web-sovelluksia. Esimerkiksi käyttäjän tehdessä ostoksia webbikaupassa ostoskorin sisältö säilytetään istuntotietojen avulla. Onneksi istuntojen hallinta on toteutettu JSP:ssä esimerkillisesti. Yksinkertaisimmillaan riittää beanin eliniän (scope) määrittely usebean-tagin yhteydessä, ja JSP huolehtii muusta automaattisesti. Mahdollisuudet eliniän määrittelyyn on esitelty oheisessa taulukossa. Beanin elinikä määritellään esimerkiksi seuraavasti: <jsp:usebean id="omapapu" class="fi.mikropc.jspdemo.kahvipapu" scope="session"/> Ilman eksplisiittistä määrittelyä beanin eliniäksi asetetaan arvo "page". Normaalisti istuntoja hallitaan hyödyntämällä käyttäjän koneella säilytettäviä evästeitä (cookies). Jos evästeet eivät ole käytössä tai esim. selain ei niitä tue, voidaan session tunniste säilyttää myös linkkien osoitteiden perässä (url rewriting), mutta tämä tekniikka vaatii jokaisen linkin muokkaamista. JSP tarjoaa sivulle HttpSession-luokkaan kuuluvan olion session, johon voidaan sisällyttää muita olioita setattribute()-metodilla. Olioita voidaan myöhemmin pyytää saman session-olion getattribute()-metodilla. Palvelin huolehtii tietojen assosioimisesta oikeisiin istuntoihin. Istuntojen vanhenemisajan asettamiseen käytetään session-olion setmaxinactiveinterval()-metodia. Linkkejä lisätiedon lähteille Dynaamisten webtekniikoiden kehitys Kymmenisen vuotta sitten esiteltiin html-kieli ja internetiin ilmestyi nopeasti runsaasti etenkin opiskelijoiden tekemiä nopeasti vanhenevia kotisivuja. Samaan aikaan alkoi syntyä myös dynaamisempia sivustoja. Hakupalvelujen, kauppapaikkojen ja sääsivujen tiedot generoitiin joko käyttäjän tai ulkoisen lähteen antamien tietojen perusteella. Silloiset www-palvelimet tarjosivat sivujen dynaamiseen muodostamiseen ainoastaan erittäin yksinkertaisen cgi-rajapinnan (common gateway interface). Lomakkeen käsittelyyn kirjoitettiin usein Perl-kielinen ohjelma, joka luki lomakkeessa annetut tiedot ja generoi käyttäjälle sivun vastaukseksi. Käyttäjän painettua lomakkeen lähetyspainiketta palvelin käynnisti Perl-tulkin omassa prosessissaan. Perl-ohjelma muodosti valmiin html-sivun ja palautti sen sisällön palvelimelle. Uuden prosessin luomisen raskaus ja tulkatun Perlin hitaus aiheutti monille palvelimille skaalautuvuusongelmia, kun käyttäjien määrä kasvoi. Lisäksi vastinesivut olivat karuja, kun html-koodi kirjoitettiin suoraan ohjelmaan. Pienenkin muutoksen tekeminen vaati aina muutoksia ohjelmaan. FastCGI ja mod_perl -tekniikoiden avulla Perl-ohjelmien suorituskykyä on saatu sittemmin huomattavasti parannettua. Kattava kokoelma JSP-tietoa ja -linkkejä. jakarta.apache.org/ Ilmainen JSP- ja servlet-container. Runsaasti paljon kysyttyjä faq-vastauksia JSP-ongelmiin. java.sun.com/products/jsp/ Sunin viralliset JSP-sivut, joista löytyy mm. JSP:n määritykset. java.sun.com/products/javabeans/ Sunin viralliset JavaBeans-sivut. KAHVIA KONEESEEN Sun esitteli Java-ohjelmointikielen viitisen vuotta sitten. Saman ohjelman toimiminen eri ympäristöissä, C++:sta tuttu syntaksi ja monet edistyneet ominaisuudet tekivät Javasta nopeasti suositun. Alkuaikoina ohjelmien suorituskyky jätti tosin toivomisen varaa. Alussa Java-ohjelmat olivat lähinnä selaimissa toimivia yksinkertaisia pelejä tai graafisia efektejä. Innostus sovelmiin (applet) kuitenkin laantui nopeasti. Sovelmien käynnistyminen kesti kauan, suoritus oli hidasta ja selainten Java-ympäristöt olivat bugisia. Nykyisin sovelmia käytetään vähän, mutta Java-ohjelmat ovat siirtyneet selaimista palvelimiin, missä niitä kutsutaan servleteiksi. Servletit eivät kuitenkaan poistaneet suurta ongelmaa: edelleen htmlkoodi generoitiin ohjelmallisesti. Lisäksi tulkattavien Perl-ohjelmien muokkaukseen riitti tekstieditori, mutta servletit piti muokkauksen jälkeen kääntää vielä Java-tavukoodiksi. TIETO JA KUKKASET ERIKSEEN Kaiken kukkuraksi sivun lopullisen ulkoasun näkeminen suoraan Perlkoodista vaatisi ennustajan. Lisäksi samaa tietoa pitäisi voida hyödyntää useissa yhteyksissä, esimerkiksi web- ja wap-sivuilla. Avuksi on kehitetty erilaisia wwwpalvelinlaajennuksia ja sovelluspalvelimia, jotka osaisivat suorittaa htmlsivuille sijoitetun ohjelmakoodin ennen sivun lähettämistä sen pyytäjälle. Tällä hetkellä ehkä yleisimmin käytössä oleva tekniikka on Microsoftin ASP. ASP:ssa ohjelmointikielenä käytetään yleensä Visual Basiciin perustuvaa VB Scriptiä. Suuremmat projektit kootaan ActiveX-komponenteista. ASP:n suosion ansiosta muihinkin kuin windowsilla pyöriviin palvelimiin on lisätty ASP-tuki. ActiveXkomponentit toimivat yleensä vain windowsissa. Microsoftin.NET-arkkitehtuuri sisältää uuden ASP-version ASP+. Se parantaa huomattavasti ohjelmien suorituskykyä, koska ASP+-sivut käännetään JSP:n tavoin tavukoodimuotoon. 58 MikroPC 5 / 2001 W W W. M I K R O P C. N E T

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

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

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

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

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

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

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

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

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

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

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

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa J2EE web-ohjelmointi Teoria ja ohjelmointitehtävät J2EE web-ohjelmointi 3 JOHDATUS OPISKELUUN...7 Opiskelu kurssilla... 7 Kurssin sisältö... 7 Aikataulu...

Lisätiedot

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000 Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

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

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

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

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

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

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

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

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

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

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa: XHTML - harjoitus Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa Tiedoston tallennus notepad (muistio) ohjelmassa: Jokaisen XHTML-dokumentin tulisi alkaa XML-määrittelyllä(engl.XML-prologue),

Lisätiedot

www.solita.fi solita@solita.fi

www.solita.fi solita@solita.fi www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

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

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

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

Pakkauksen kokoaminen

Pakkauksen kokoaminen 13. Pakkaukset 13.1 Sisällys Pakkauksen kokoaminen (package). Pakkaukset ja hakemistorakenne. Pakkauksen luokkien käyttö muissa pakkauksissa (import). Pakkaukset ja näkyvyys. 13.2 Pakkauksen kokoaminen

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

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Asko Ikävalko, k0201291 22.2.2004 TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Asko Ikävalko, k0201291 22.2.2004 TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen Asko Ikävalko, k0201291 22.2.2004 TP02S-D Ohjelmointi (C-kieli) Projektityö Työn valvoja: Olli Hämäläinen Asko Ikävalko LOPPURAPORTTI 1(11) Ratkaisun kuvaus Käytetyt tiedostot Tietuerakenteet Onnistuin

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009 Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate

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

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

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

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

17. Javan omat luokat 17.1

17. Javan omat luokat 17.1 17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla; Tietorakenteet, laskuharjoitus 7, ratkaisuja 1. Opiskelijarekisteri-luokka saadaan toteutetuksi käyttämällä kahta tasapainotettua binäärihakupuuta. Toisen binäärihakupuun avaimina pidetään opiskelijoiden

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

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

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

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

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

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

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut Ohjelmointikurssin järjestäminen Helsingin yliopiston Ohjelmoinnin MOOC-kurssimateriaalin avulla 15.4.2016 1 Linkki Tietojenkäsittelytieteen

Lisätiedot

Tietokannan webbikytkentä. Janne Petäjä

Tietokannan webbikytkentä. Janne Petäjä Tietokannan webbikytkentä Janne Petäjä Helsinki 7. huhtikuuta 2003 Relaatiotietokannat nyt - seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Tietokannan webbikytkentä Janne Petäjä Relaatiotietokannat

Lisätiedot

20. Javan omat luokat 20.1

20. Javan omat luokat 20.1 20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0 CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved

Lisätiedot

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

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

CSS - tyylit. 13.11.2000 Seppo Räsänen

CSS - tyylit. 13.11.2000 Seppo Räsänen CSS - tyylit 13.11.2000 Seppo Räsänen Sivu 2 1 CSS-tyylit Dynaaminen HTML tai DHTML on standardi, joiden käyttöä tukevat uusimmat Netscapen ja Microsoftin selaimet. DHTML:n ominaisuuksia ovat tyylitiedostot

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

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Tiedostonhallinta. Yleistä

Tiedostonhallinta. Yleistä Tiedostonhallinta Tiedostonhallinnan kautta voi muokata kaikkia näkymän tiedostoja. Sitä tarvitaan näkymien räätälöintiin ja joidenkin asetusten muuttamiseen. Yleistä Tiedostojen tarkastelu ja muokkaus

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

OutputStream ja InputStream. Tietovirrat ja niiden suunnat. Tietovirtojen käyttö. FileInputStream esimerkki. DataOutputStream ja DataInputStream

OutputStream ja InputStream. Tietovirrat ja niiden suunnat. Tietovirtojen käyttö. FileInputStream esimerkki. DataOutputStream ja DataInputStream Tietovirrat ja niiden suunnat Output stream Koodi Tiedosto OutputStream ja InputStream OutputStream (abstrakti) FileOutputStream Tallennus tavuina ObjectOutputStream Olioiden tallennus FilterOutputStream

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

17. Javan omat luokat 17.1

17. Javan omat luokat 17.1 17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML Järjestelmäarkkitehtuuri (TK081702) Ajax 2000-luvun alkuvuosina selainsotien rauhoituttua ohjelmistotalot alkoivat kehittää selainten luoman uuden ohjelmointiympäristön käyttötapoja. Syntyi AJAX (Asynchronous

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.

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

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015)

58131 Tietorakenteet ja algoritmit (syksy 2015) 58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen

Lisätiedot

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU ,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU Tässä pääsette tutustumaan Internet Explorerin (IE) käyttöön. Muitakin selainversioita löytyy, kuten esimerkiksi Netscape, Opera ja Mozilla. Näiden muiden selainten

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

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

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki PERL TIE-20306 Principles of Programming Languages Ryhmä 4: Joonas Lång & Jasmin Laitamäki 1. Johdanto Perl on ohjelmointikielten perhe, johon kuuluu Perl 5 ja Perl 6. Kielet ovat kuitenkin erilliset ohjelmointikielet

Lisätiedot

HOJ J2EE & EJB & SOAP &...

HOJ J2EE & EJB & SOAP &... HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

HSMT J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &... HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

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

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

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

OPPITUNTI 3 Ensimmäinen skripti

OPPITUNTI 3 Ensimmäinen skripti 3. Ensimmäinen skripti 35 OPPITUNTI 3 Ensimmäinen skripti Kun olet asentanut PHP:n ja asettanut sen kokoonpanon, on aika laittaa ohjelmisto testaukseen. Tällä tunnilla luot ensimmäisen skriptisi ja tutkit

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.

Lisätiedot

Interaktiivinen tarinankerronta

Interaktiivinen tarinankerronta Interaktiivinen tarinankerronta Tehtävä 1: Tarinan alku pääohjelmaan Main. java ei tehdä muutoksia tulostusrivit tiedostoon Kayttoliittyma.java tulostus lyhyesti sout + tab komennolla Tiedoston Kayttoliittyma.java

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

6 XML-työkalut 1. 6 XML-työkalut

6 XML-työkalut 1. 6 XML-työkalut 6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Toukokuu 2013 1 (10) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Päivitysohje Copyright Aditro 2013 Toukokuu 2013 2 (10) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

Lisätiedot