Kirjoita palvelma Aika, jonka kutsuminen saa
näyttää nykyisen ajanhetken. Käytä ajanhetken selvittämiseen
Javan API:n luokkaa java.util.Date. Joudut
kirjoittamaan kaksi luokkaa: edellä mainitun palvelmat sekä
palvelimen, joka tietää kirjoittamasi palvelman osoitteen.
Palvelman kirjoittaminen
Kirjoita palvelma luokkana, jonka nimi on Aika
ja joka perii luokan
javax.servlet.http.HttpServlet. Kirjoita tälle
luokalle metodi doGet, joka ottaa kaksi
argumenttia HttpServletRequest ja
HttpServletResponse. Selvitä palvelma-tutoriaalista
muut yksityiskohdat.
Palvelimen kirjoittaminen
Kirjoita sitten ohjelma Palvelin, jossa on
main-metodi, joka käynnistää Jettyn HttpServer
-palvelimen kuuntelemaan koneesi porttia
8181. Joudut Jettyn arkkitehtuurin mukaan
luomaan neljä oliota: kuuntelijan, palvelimen, kontekstin ja
käsittelijän. Selvitä Jettyn HttpServeriä käsittelevästä
tutoriaalista yksityiskohdat.
Palvelman asentaminen palvelimeen
Lisää Palvelin-ohjelmaan komento
(addServlet), joka antaa palvelimelle tiedon
kirjoittamasi palvelman Aika kutsunimestä,
osoitteesta sekä luokasta.
Palvelimen käynnistäminen
Aja Palvelin-ohjelma, jolloin palvelmapalvelin
käynnistyy. Tätä varten sinun täytyy antaa komento, jolle on
kerrottu Jetty-asennuksen juurihakemisto sekä luokkapolku
(CLASSPATH), josta löytyvät kaikki Jettyn
tarvitsemat luokat. Esimerkiksi:
java -Djetty.home=C:\Java\Jetty-4.0.1RC2 -classpath c:\Java\Jetty-4.0.1RC2\-
lib\javax.servlet.jar;c:\Java\Jetty-4.0.1RC2\lib\com.sun.net.ssl.jar;c:\Jav-
a\Jetty-4.0.1RC2\lib\org.apache.crimson.jar;c:\Java\Jetty-4.0.1RC2\lib\org.-
apache.jasper.jar;c:\Java\Jetty-4.0.1RC2\lib\javax.xml.jaxp.jar;c:\Java\Jet-
ty-4.0.1RC2\lib\org.mortbay.jetty.jar Palvelin
Palvelman kutsuminen
Avaa WWW-selain ja kirjoita osoitteeksi URL
http://localhost:8181/Aika. Palvelman pitäisi
tuottaa nyt sivu, jossa on kutsun ajanhetki.
Kirjoita palvelma, jota kutsutaan html-kaavaketta lähetettäessä
(submit). Käytä form-elementtiä, jonka
sisällä on nimettyjä input-kenttiä. Esimerkiksi:
<form action="http://localhost:8181/Kentat" method="post">
Etunimi: <input type="text" name="etu">
Sukunimi: <input type="text" name="suku"><br>
<input type="reset" value="Tyhjennä">
<input type="submit" value="Lähetä">
</form>
joka tuotta seuraavanlaisen lomakkeen
Etunimi: Sukunimi:
Kun Lähetä-nappia painetaan, kenttien nimet ja arvot
(esim. etu="Aku", suku="Ankka") välittyvät palvelmalle
doPost -metodin ensimmäisen argumentin (tyypiltään
HttpRequest) kautta.
Toimi seuraavalla tavalla:
Kaavakken laatiminen
Laadi HTML-sivu, joka sisältää yllä esitetyn
kaavakkeen. Voit lisätä omia kenttiä, jos haluat, mutta
riittää, jos vain tarkasti kopioit yllä olevan kaavakkeen ja
laitat sen <html>- ja <body>-merkkausten
sisään. (Jos haluat kokeilla muilla HTML-kaavakkeiden
ominaisuuksilla, katso lisätietoja jostain HTML-oppaasta,
esim. osoitteesta http://www.w3.org/TR/REC-html40/interact/forms.html).
Palvelman kirjoittaminen
Kirjoita palvelma Kentat, joka muodostaa
HTML-sivun, jossa on kaavakkeen kaikkien kenttien nimet ja
arvot. Selvitä yksityiskohdat palvelma-tutoriaalista.
Kaavakkeen kokeileminen
Avaa WWW-selain ja avaa kaavakkeen sisältävä html-tiedosto. Kokeile erilaisia syötteitä.
Tämä on esimerkki monikerroksisesta ohjelmistosta, jossa on asiakas, WWW-palvelin sekä tietokantapalvelin.
Kirjoita kaavakkeisiin perustuva käyttöliittymä edellisellä harjoituskerralla luodun autorekisteritietokannan ylläpitämiseen.
Palvelmasta voidaan luoda JDBC-yhteys tietokantaan aivan kuten muistakin Java-ohjelmista.
Kirjoita ensin palvelma, jonka avulla voit kysellä annetun henkilön omistamia autoja. Kirjoita sitten palvelmat, joilla voit lisätä tietokantaan uusia autoja ja omistajia. Mieti sitten, kuinka näitä tietoja voisi muuttaa tai poistaa.