Itv0030 2007 lab 2 requirements
Laboratoorne töö nr 2
Töö sisuks on laboratoorses töös 1 realiseeritud dummy-rakenduse reaalne realiseerimine serveris, kasutades seejuures otsingutulemuste sisselugemisel ja kuvamisel XMLHttpRequest-i. Realiseerida on vaja:
- lehekülgede ülesriputamine serverisse
- andmete sisestamine serveris olevasse andmebaasi
- otsing, kusjuures otsingutulemusena annab server json formaadis andmed, ning lehel olev javascript kuvab tulemuse html-ks
Serveripoolse realisatsiooni võib teha kolmel viisil:
- realiseerides kõik ise, oma valitud serveril ja keeles
- kasutades õppejõu tehtud cgi skripte salvestamiseks ja otsinguks, vt allpool
- tehes viimaseid oma äranägemisel ümber
proovi realiseeritud otsingut
Ava url http://193.40.254.12/cgi-bin/tammet/otsi.py?order=id&direction=desc&getrows=2 mis peaks tulemuseks andma json formaadis andmed Ava leht http://193.40.254.12/html/tammet/otsing.html ning proovi sisestada 'mina' ja seejärel 'sina': leitud andmed kuvatakse html-s
logi ise serverisse
Serverina kasutame dijkstra.cs.ttu.ee peal jooksvat vmware virtuaalmasinat. Sisse saad logida oma arvutiklassi kasutajanime ja parooliga:
ssh kasutajanimi@193.40.254.12 (kasutajanimi asemel pane oma kasutajanimi arvutklassis), sisesta parool
NB! Serverist ei tehta backuppe, sinu failid võivad väga kergesti kaduma minna: kindlasti hoia kõiki oma faile tagavaraks kusagil oma masinas, igaljuhul väljapool seda serverit.
html lehtede ülespanemine
Kasuta apache olevat kataloogi /var/www/html, tehes sinna oma kasutajatunnusega kataloogi, et segi ei läheks:
tee:
cd /var/www/html mkdir kasutajanimi
Seejärel pane oma veebisaidi lehed (html, css jne) kataloogi /var/www/html/kasutajanimi
Faili saab sinna laadida näiteks scp käsuga niimoodi:
scp minufail kasutajanimi@193.40.254.12:/var/www/html/kasutajanimi/minufail
andmete salvestamine ja otsimine
Andmete salvestamiseks saad kasutada cgi-d
http://193.40.254.12/cgi-bin/tammet/salvesta.py
andes talle get-i või postiga parameetrid, mis vastavad andmebaasi schema väljadele, v.a. id, mida sisestada ei saa:
create table materjalid( id integer primary key --- autoincrement --- unikaalne id ,laadija varchar(40) NOT NULL --- laadija nimi voi hyydnimi ,ylikool varchar(40) --- ylikooli nimi ,teaduskond varchar(40) --- Teaduskonna nimi ,ainekood varchar(40) --- Aine kood ,ainenimetus varchar(40) --- Aine nimetus ,oppejounimi varchar(40) --- jne ,materjalikeel varchar(40) ,materjalityyp varchar(40) ,materjalinimi varchar(40) ,lyhikirjeldus varchar(40) );
näiteks:
http://193.40.254.12/cgi-bin/tammet/salvesta.py?laadija=kasutajatunnus&ylikool=tty
õnnestunud salvestamine annab tulemuseks arvu 1, ebaõnnestumine annab arvu 0.
NB! Failide üleslaadimist salvesta.py ei realiseeri, ta realiseerib ainult andmete salvestamist.
Oma cgi programmide tegemine
Tee oma kasutajatunnusega kataloog cgi-bin alla:
cd /var/www/cgi-bin mkdir kasutajanimi
ja pane cgi-programmid sinna kataloogi /var/www/cgi-bin/kasutajanimi Igale cgi-programmile nimega minuprogramm tee:
chmod a+rx minuprogramm
Seejärel tee samasse kataloogi /var/www/cgi-bin/kasutajanimi oma sqlite andmebaas ka:
cd /var/www/cgi-bin/kasutajanimi sqlite materjalid.db < materjalid.sql sqlite materjalid.db < data.sql chmod a+rw materjalid.db
Õppejõu näidis-html leht ja programmid
Kolme mainitud faili saad vaadata kas siit altpoolt või kopeerida endale viidatud kohast (palun ära nimetatud faile ise muuda!)
kasutliidesed lab 2 otsingu html /var/www/html/tammet/otsing.html
kasutliidesed lab 2 otsingu cgi /var/www/cgi-bin/tammet/otsi.py
kasutliidesed lab 2 salvestamise cgi /var/www/cgi-bin/tammet/salvesta.py