Progetto: memorizzazione dello stato nel database negozio accediNegozio.html logon Seleziona Accesso Tot. acquisti Tot. spesa oggetto1 oggetto2 oggetto3 ........... Nome Anno N. Crea sessione aggiornaScelte Tab. sessioni Elim. vecchie Ins. nuove Ogni operazione aggiorna la Timestamp della sessione corrente conferma Tab. scelte Confermi? oggetto1 oggetto3 Tab. acquisti SI NO Elimina scelte Crea acquisti scheduler
Progetto di dettaglio Stato 0 Stato 1 Stato 2 Stato 3 Stato 4 Operazione: logon Parametri: nome, anno Stato 1 Operazione: negozio Parametri: sessioneCorrente Stato 2 Operazione: aggiornaScelte Parametri: sessioneCorrente, scelteCorrenti Stato 3 Operazione: conferma Stato 4 Operazione: scheduler Parametri: choice (SI,NO), sessioneCorrente
Per creare il progetto Creo una directory ~/ese5bdl Copio il contenuto della directory ese5 (da http://tql.di.unipi.it/bdl03/esercizi oppure da ~ghelli/bdl03) nella directory ~/ese5bdl Apro i file ~/ese5bdl/ese5.sql ~/ese5bdl/accessoNegozio.html Modifico: In ese5.sql: la variabile web con l’indirizzo del server Oracle che intendo utilizzare In accessoNegozio.html: specifico il server e l’utente Oracle Copio il file accessoNegozio.html su ~/public_html Mi connetto a Oracle via SqlPlus Worksheet e compilo create.sql ese5.sql
Compilo il file vedisessioni.psp Compilatelo da una command shell (run: cmd, oppure accessoriescommand prompt) cd C:\....\ese5bdl (fate drag and drop) loadpsp –replace –user user/pwd@orcl.oracle1 vedisessioni.psp Il sistema risponde: "vedisessioni.psp": procedure "..." created.
Per usare il progetto Apro un browser all’indirizzo: http://www.cli.di.unipi.it/~mioAccount/accessoNegozio.html
Esercizi Implemento la procedura logoff in modo che ripulisca la tabella delle sessioni Cancelli le informazioni della sessione corrente Cancelli le informazioni delle sessioni vecchie (ad esempio, quelle il cui sessionId è minore di quello corrente con una differenza maggiore di K)