tomasjur...@email.cz napsal(a):
Dobrý denvytváříme jednoduchou web aplikaci ve které si přihlášený student může spustit test (např z Matematiky, ČJ, Přírodovedy). Jedná se o obyčejný HTML formulář, který po vyplnění a zaškrtání odpovědí student odešle na server k automatickému vyhodnocení.Čas testu musí být časově omezen. Po stanovené době se musí test automaticky ukončit a odeslat na server ke zpracování .Toto chování jsem nejprve implementoval pomocí JavaScriptu: 1. Po spuštění testu se na klientský PC uloží cookie obsahující čas ukončení testu. 2. V pravidelném časovém intervalu se kontroluje aktuální čas s časem uloženým v cookie. ( používá window.setInterval() ) 3. Formulář se odešle pokud je aktuální čas větší než čas v cookie. Řešení se ukázalo jako nespolehlivé. Existuje nějaká možnost jak toto chování řídit na straně serveru? Aplikace je napsaná v Jave na Spring 2.5
Na serveru se nedá ovládat, co dělá klient. Odeslat formulář z HTML klienta se dá jedině kliknutím na submit tlačítko nebo z JavaScriptu. Pokud má klient JavaScript vypnutý, není cesta, jak donutit formulář k odeslání. Ale dalo by se na serveru zkontrolovat, kolik času uběhlo mezi vygenerováním stránky s formulářem a přijmutím POST requestu s daty z formuláře. Ještě mne napadlo, že pomocí <meta http-equiv="Refresh" content="300;URL=http://neco/nekde"> v <head> se dá donutit prohlížeč, aby po 300 sekundách načetl jinou stránku, ale ztratí se tím data vyplněná ve formuláři. Makub -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Supercomputing Center Brno Martin Kuba Institute of Computer Science email: ma...@ics.muni.cz Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 --------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature