TECNOLOGIE WEB: approcci avanzati, a.a. 2019/20
Questo scritto è un ESEMPIO
Serve esclusivamente a dare un'idea del TIPO di domande che ci saranno negli scritti: le domande saranno diverse (e potrebbero esserlo anche nella struttura, non solo nei contenuti)
Prendetele... "con beneficio di inventario" !!!
TECNOLOGIE WEB: approcci avanzati, a.a. 2019/20
Scritto del 32 maiembre 8080
Nome: ___________________________________________________________
Cognome: ___________________________________________________________
Matricola: ___________________________________________________________
Corso di Laurea: ___________________________________________________________
A.A. (iscriz al CdL) ___________________________________________________________
NB1:
Scrivete nome, cognome e matricola sul foglio delle risposte!!
Indicate chiaramente accanto alla risposta, il numero della domanda a cui si riferisce Le risposte alle domande aperte NON devono superare, singolarmente, due pagine
NB2:
Lo scritto vale max 18 punti e copre il 60% del voto:
6 domande a risposta chiusa 6 punti (1x6) 2 domande a risposta aperta 12 punti (6x2)
Attenzione! Scritto e orale costituiscono un unico esame, quindi l'orale deve essere sostenuto nello stesso appello dello scritto (cioè nell'appello orale immediatamente successivo allo scritto)
Per l'orale è richiesta la realizzazione di un progetto
X
Domande a risposta chiusa
NB Se lo ritenete necessario, potete aggiungere una nota che spiega la vostra scelta o i vostri dubbi
1. Quale di queste affermazioni è corretta?
Il protocollo IP (Internet Protocol), grazie all'indirizzo IP del destinatario, si occupa di identificare il processo applicativo a cui è destinata l'informazione
Il protocollo HTTP (HyperText Transfer Protocol) identifica il processo destinatario dell'informazione grazie al numero di porta
Il protocollo TCP (Transmission Control Protocol) si occupa di identificare il processo applicativo a cui è destinata l'informazione
I router utilizzano il protocollo HTTP (HyperText Transfer Protocol) per identificare il processo a cui è destinata l'informazione
2. Cosa fa il seguente frammento (incompleto) di codice?
<?php
//la variabile $catalogo contiene una lista di prodotti $prodotto = $catalogo[0];
foreach ($prodotto as $key => $val) { if ($val != "") {
?>
<tr>
<td><?= $key ?></td>
<td><?= $val ?></td>
</tr>
<?php } }
?>
scorre una lista di prodotti e, se non è vuota, li stampa sulla pagina web, in una tabella prende un prodotto in catalogo (il primo), scorre una serie di coppie attributo‐valore e li
stampa sulla pagina web
legge il catalogo prodotti, utilizzando $key come identificativo
prende un prodotto in catalogo (il primo), scorre una serie di coppie attributo‐valore e stampa sulla pagina web solo gli attributi il cui valore è vuoto
3. Il DOM (Document Object Model) è:
un linguaggio di programmazione generalmente utilizzato insieme a Javascript
un insieme di oggetti e funzioni che corrispondono a elementi della pagina web e della finestra del browser
un insieme di oggetti e funzioni predefiniti, accessibile e manipolabile attraverso PHP uno strumento per gestire sul server gli eventi generati dal browser
4. Dato il seguente frammento (incompleto) di codice, possiamo dedurre che:
<?php
include("Libro.php");
$codUt = 1357;
$l1 = new Libro("Storia Medievale", "Paolo Rossi", 2000);
$prestito = $l1->inPrestito($codUt);
$tit = $l1->getTitolo();
$aut = $l1->getAutore();
if ($prestito) {
?>
<P>
Il libro <?= $tit ?> di <?= $aut ?> è in prestito a: <?= $codUt ?>
</P>
<?php }
?>
se un utente ha già un libro in prestito, non è possibile assegnargliene un altro
per poter assegnare un libro in prestito a un utente è necessario che l'utente abbia un profilo registrato nell'applicazione
nella classe Libro ci sono i metodi per assegnare a un oggetto di tipo Libro il titolo e l'autore
nella classe Libro ci sia un metodo inPrestito($id) che restituisce un valore booleano o assimilabile a un booleano
5. AJAX (Asynchronous JavaScript and XML) è:
un acronimo che denota un insieme di tecnologie server‐side per la realizzazione applicazioni Web dinamiche
un acronimo che denota un insieme di tecnologie per la realizzazione di applicazioni Web interattive
un linguaggio di programmazione per il Web
un linguaggio di markup basato su XML per la specifica della struttura delle pagine Web
6. Un servizio RESTful è:
un servizio che offre particolari garanzie di robustezza un servizio basato sul protocollo di comunicazione HTTPS
un servizio sviluppato utilizzando il linguaggio di programmazione REST
un servizio progettato secondo certi principi, tra cui l'uso esplicito dei metodi HTTP
Domande a risposta aperta
NB:
Scrivete nome, cognome e matricola sul foglio delle risposte!!
Indicate chiaramente accanto alla risposta, il numero della domanda a cui si riferisce Le risposte NON devono superare, singolarmente, due pagine
7. Scrivere il codice HTML di un form che chiede all'utente: nome, cognome, autorizzazione al trattamento dei dati personali (sì/no)
Scrivere il codice PHP che legge l'autorizzazione e, se la risposta è positiva, scrive nella pagina web una risposta che dice: "Grazie, <nome> <cognome>, ti inseriremo nella nostra banca dati!"
NOTA: cercate di scrivere codice PHP il più possibile corretto! Dove non riuscite, potete usare pseudo‐
codice (italiano o inglese)...
<form ... >
<!— INSERIRE IL CODICE HTML QUI -->
</form>
===================================
<?php
// INSERIRE IL CODICE PHP QUI
?>
[NOTA: un'alternativa possibile a questa domanda potrebbe NON contenere la richiesta del codice HTML, ma richiedere il codice per l'interazione con il database...]
8. Utilizzando jQuery, definire una HTTP request che invoca un servizio REST
(http://myhost/v1/prontopizza/) che fornisce l'elenco delle pizze disponibili (metodo GET) e le visualizza in forma di semplice elenco; il servizio restituisce un oggetto JSON con la
seguente struttura:
[{nome:"margherita",prezzo:8},{nome:"marinara",prezzo:7},...]
completando il codice seguente.
$("#mylink").on("click", function() { $.ajax({
// INSERIRE QUI IL CODICE });
});