Arhiiv 2006 - Võrgurakendused I: ülesanne 2
Tähtaeg: 31. märts.
Ülesandeks on valmistada (üksi) serverirakendus, mis on analoogiline - kuid hulga lihtsam - kui http://www.reddit.com.
Mida rakendusega peab saama teha
Autentimist ja redigeerimist jne ei ole. Igaüks peab saama:
- vaadata (klikatavate) linkide loetelu, mis on sorteeritud pluss/miinus punktide ja aja järgi:
- mida uuem, seda eespool
- mida rohkem plusse, seda eespool
- mida rohkem miinuseid, seda tagapool.
- Mõistlik valem tuleb ise välja mõelda.
- Lisada link: vorm, kus on koht lingile ja ühelauselisele tekstile. Lõputult ei tohi linke lisada saada: failis ei tohi olla rohkem, kui 20 linki.
- Vajutada üles või alla nupule klikatavate linkide loetelus, mille peale salvestatakse pluss või miinuspunkt faili.
Kuidas rakendus tuleb kirjutada
Rakendus tuleb kirjutada kui komplekt cgi programme javas. Kasutada standard-javat, mitte j2ee-d. Java programmid tuleb käima tõmmata shelli skriptidest. Vaata materjale loengust.
Andmed tuleb kirjutada serveris olevasse csv-faili. Sellest failist ehitab üks teie cgi programmidest ka kuvatava html teksti.
Näide hakatuseks
Shelli skript, mis paneb käima java rakenduse (klassi nimega proov) Taneli läpakas: teistel on vaja programmide/failide asukohad muuta enda masina jaoks sobivaks, samuti pane kõik ühe rea peale!!!
#!/bin/sh
/usr/local/java/j2sdk1.4.2_02/bin/java -cp /home/tanel/Lectures/Vorgurak1/Cgiproov/
proov $QUERY_STRING
Java programmi näide, mida saab eelmise skriptiga käivitada
import java.io.*;
public class proov {
public static void main(String[] args) {
String ls_str;
System.out.println("content-type: text/html");
System.out.println("");
System.out.println("<p>OK algus javast on siin</p>");
System.out.println(args[0]);
}
}
Lisaülesanne (ei ole kohustuslik)
Lisaülesanne annab ekstrapunkte, mida saab kasutada, kui mõnes muus praktikumis punkte puudu.
Kirjutada listide vaatamisprogramm eraldi http serverina javas: vaata javas kirjutatud http serveri näidet loengust.