Arhiiv 2006 - Võrgurakendused I: ülesanne 2

Allikas: Lambda
Redaktsioon seisuga 8. märts 2006, kell 10:34 kasutajalt Tammet (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

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.