Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Esami svolti Domande teoria+Codice Esercizi Programmazione Internet e Web (Java,HTML,JS,CSS,NodeJS,Servlet), Prove d'esame di Programmazione e Tecnologie Web

Raccolta esami completa di codice e risposte di teoria di Programmazione Internet e Web (Java,HTML,JS,CSS,NodeJS,Servlet)

Tipologia: Prove d'esame

2020/2021

In vendita dal 20/06/2021

Mattia.Rengo
Mattia.Rengo 🇮🇹

3.9

(9)

6 documenti

1 / 11

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Cognome __________________ Nome ___________________ Matricola _____________________
Programmazione per Internet e Web prova al calcolatore
13 settembre 2019
-Il tempo a disposizione è di 80m.
-Si può consultare soltanto la documentazione ufficiale di JDK.
-Ai fini della consegna, salvare l’elaborato in una cartella del desktop dal
titolo CognomeNome, dove Cognome e Nome sono i propri dati anagrafici.
Esercizio 3 (20 punti). Realizza un semplice server in base alle seguenti specifiche:
Il server accetta richieste di servizio sulla porta TCP 50000, ed è in grado di gestire più
client simultaneamente.
Il server gestisce una lista L di numeri reali, condivisa tra tutti i client. La lista L deve essere
in grado di contenere un numero arbitrariamente alto di elementi.
Una volta connesso al server, il client può inviare uno tra i seguenti comandi:
oAGGIUNGI x
oVICINOA x
oESCI
Con il comando AGGIUNGI x, il client chiede al server di inserire in L il numero x. A
seguito dell’inserimento, il server invia al client il seguente messaggio di conferma
“Numero inserito”.
Con il comando VICINOA x, il client richiede al server di inviargli il numero di L che ha
distanza minima dal numero x (se nella lista è presente il numero x, il server invia al client
tale numero).
Con il comando ESCI, il client chiede al server di essere disconnesso, ed in tal caso il server
saluta con il messaggio “Connessione chiusa”.
I messaggi tra server e client sono scambiati usando la codifica caratteri/byte ISO latin1.
Note: Il protocollo di comunicazione va rispettato così come descritto nel testo, senza aggiungere
o alterare i messaggi previsti. Il server non deve andare in crash (cioè non deve interrompere il
servizio) se il client invia input sbagliati o se chiude la connessione bruscamente. Se il client invia
input sbagliati, il server deve semplicemente chiudere la connessione al client.
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Esami svolti Domande teoria+Codice Esercizi Programmazione Internet e Web (Java,HTML,JS,CSS,NodeJS,Servlet) e più Prove d'esame in PDF di Programmazione e Tecnologie Web solo su Docsity!

Programmazione per Internet e Web – prova al calcolatore

13 settembre 2019

  • Il tempo a disposizione è di 80m.
  • Si può consultare soltanto la documentazione ufficiale di JDK.
  • Ai fini della consegna, salvare l’elaborato in una cartella del desktop dal titolo CognomeNome, dove Cognome e Nome sono i propri dati anagrafici.

Esercizio 3 (20 punti). Realizza un semplice server in base alle seguenti specifiche:

 Il server accetta richieste di servizio sulla porta TCP 50000, ed è in grado di gestire più

client simultaneamente.

 Il server gestisce una lista L di numeri reali, condivisa tra tutti i client. La lista L deve essere

in grado di contenere un numero arbitrariamente alto di elementi.

 Una volta connesso al server, il client può inviare uno tra i seguenti comandi:

o AGGIUNGI x

o VICINOA x

o ESCI

 Con il comando AGGIUNGI x, il client chiede al server di inserire in L il numero x. A

seguito dell’inserimento, il server invia al client il seguente messaggio di conferma

“Numero inserito”.

 Con il comando VICINOA x, il client richiede al server di inviargli il numero di L che ha

distanza minima dal numero x (se nella lista è presente il numero x, il server invia al client

tale numero).

 Con il comando ESCI, il client chiede al server di essere disconnesso, ed in tal caso il server

saluta con il messaggio “Connessione chiusa”.

I messaggi tra server e client sono scambiati usando la codifica caratteri/byte ISO latin1.

Note: Il protocollo di comunicazione va rispettato così come descritto nel testo, senza aggiungere

o alterare i messaggi previsti. Il server non deve andare in crash (cioè non deve interrompere il

servizio) se il client invia input sbagliati o se chiude la connessione bruscamente. Se il client invia

input sbagliati, il server deve semplicemente chiudere la connessione al client.

Programmazione per Internet e Web – prova al calcolatore

18 luglio 2019

  • Il tempo a disposizione è di 80m.
  • Si può consultare soltanto la documentazione ufficiale di JDK.
  • Ai fini della consegna, salvare l’elaborato in una cartella del desktop dal titolo CognomeNome, dove Cognome e Nome sono i propri dati anagrafici.

Esercizio 3 (20 punti). Realizza un server in Java, in base alle seguenti specifiche:

 Il server accetta richieste di servizio sulla porta TCP 20000, e gestisce più client

simultaneamente. I messaggi tra server e client sono testuali, con codifica ASCII.

 Una volta stabilita la connessione, il server invia al client il messaggio “Connessione

stabilita, insert your keyname”.

 Quindi il client invia al server un messaggio con cui si qualifica tramite un proprio keyname.

Il messaggio inviato al server ha la forma: keyname , dove è una

qualunque stringa alfanumerica senza spazi.

 A questo punto il server verifica il valore di inviatogli. Se vi è già un altro

client connesso con lo stesso keyname, il server avvisa il client con il messaggio “keyname

already used” e chiude la connessione. Altrimenti invia al client il messaggio “keyname

valid”.

 Da questo momento in poi, il client può inviare al server, ripetutamente, uno tra i seguenti

comandi:

 LIST

 SEND

 EXIT

 A seguito del comando LIST, il server invia al client la lista dei keyname dei client

attualmente connessi.

 A seguito del comando SEND, il server invia il messaggio al client con keyname

.

 A seguito del comando EXIT, il server chiude al client la connessione.

Note: Il protocollo di comunicazione va rispettato così come descritto nel testo, senza aggiungere

o alterare i messaggi previsti. Il server non deve andare in crash (cioè non deve interrompere il

servizio) se il client invia input sbagliati o se chiude la connessione bruscamente. Se il client invia

input sbagliati, il server deve semplicemente chiudere la connessione al client.

Programmazione per Internet e Web – prova al calcolatore

19 dicembre 2019

  • Il tempo a disposizione è di 80m.
  • Si può consultare soltanto la documentazione ufficiale di JDK.
  • Ai fini della consegna, salvare l’elaborato in una cartella del desktop dal titolo CognomeNome, dove Cognome e Nome sono i propri dati anagrafici.

Esercizio 3 (20 punti). Realizza un server in base alle seguenti specifiche:

 Il server accetta richieste di servizio sulla porta TCP 40000, ed è in grado di gestire più

client simultaneamente.

 Il server offre un servizio di generazione di numeri interi casuali, in base al seguente

protocollo testuale: (i) quando un client si connette, il server lo saluta con il messaggio

“Connesso”. (ii) il client invia al server il comando RAND a b, dove a e b sono due numeri

interi tali che a

Programmazione per Internet e Web – Prova Scritta

19 dicembre 2019

Regole: (a) il tempo a disposizione è di 40m. (b) scrivere ogni risposta in modo chiaro (possibilmente in stampatello). (c) rispondere in modo puntuale alle domande, senza aggiungere informazioni non richieste dal testo

Esercizio 1 (5 punti). Illustra in sintesi il concetto di socket e le modalità di creazione di socket

nella programmazione in Java.

Esercizio 2 (5 punti). Scrivi una funzione Javascript che: (i) riceve come parametri due stringhe s

ed s2; (ii) crea, nella pagina HTML in cui è definita, un nuovo elemento di tipo “p” (paragraph)

come figlio diretto dell’elemento “body”, impostandone il contenuto con la stringa s1 e l’attributo

“id” con il valore s2.

* js che crea un paragrafo

var s1 = String(prompt("Insierisci il testo per il paragrafo"));

var s2 = String(prompt("Inserisci l'id"));

var p = document.createElement("p");

p.setAttribute("id", s2);

p.innerHTML=s1;

document.body.appendChild(p);

Programmazione per Internet e Web – Prova Scritta

20 giugno 2019

Regole: (a) il tempo a disposizione è di 40m. (b) scrivere ogni risposta in modo chiaro (possibilmente in stampatello). (c) rispondere in modo puntuale alle domande, senza aggiungere informazioni non richieste dal testo

Esercizio 1 (5 punti). Illustra sinteticamente il concetto di Socket , specificando anche quali tipi di

socket è possibile utilizzare nella programmazione in Java.

Esercizio 2 (5 punti). Mostra un brano di file JSON che descrive un array di 3 oggetti

“Automobile”, ciascuno caratterizzato da targa, modello e numero di cavalli.

Socket: componente software che consente a client e server di interfacciarsi ad una porta di trasporto

• i socket rappresentano i punti estremi di un canale di comunicazione client-server; un socket va

connesso

(associato) ad una porta dello strato di trasporto

il lato server ha un passive socket, dal quale ascolta richieste di connessioni sulla porta

dell’applicazione

•per ogni nuovo client, il server istanziaun nuovo active socket, che usa per il dialogo con tale client

•il client ha un active socket su una porta libera (generalmente assegnata dal sistema operativo),

usato per comunicare con il server

•se due client della stessa applicazione vengono eseguiti sullo stesso host, i relativi socket utilizzano

porte distinte

[{"targa":"AG347GT", "modello":"supercar", "cv":"750"},

{"targa":"AR548TY", "modello":"utilitaria", "cv":"300"},

{"targa":"GK874YI", "modello":"hypercar", "cv":"870"}]

Programmazione per Internet e Web – prova al calcolatore

23 maggio 2019

  • Il tempo a disposizione è di 80m.
  • Si può consultare soltanto la documentazione ufficiale di JDK.
  • Ai fini della consegna, salvare l’elaborato in una cartella del desktop dal titolo CognomeNome, dove Cognome e Nome sono i propri dati anagrafici.

Esercizio 3 (20 punti). Realizza un semplice server in Java, in base alle seguenti specifiche:

 Il server accetta richieste di servizio sulla porta TCP 30500, ed è in grado di gestire più

client simultaneamente. I messaggi tra server e client sono testuali, con codifica ASCII.

 Una volta stabilita la connessione, il server invia al client il messaggio “Connessione

stabilita”.

 Successivamente il client può inviare al server ripetutamente uno tra i seguenti comandi,

ciascuno terminato da un carattere di accapo (newline):

 COMPARE s#t

 CONCAT s#t

 EXIT

 Con il comando COMPARE s#t, il server invia al client la stringa lessicograficamente più

grande tra s e t.

 Con il comando CONCAT s#t, il server invia al client la stringa ottenuta concatenando t

ad s.

 Con il comando EXIT, il server chiude al client la connessione.

Note: Il protocollo di comunicazione va rispettato così come descritto nel testo, senza aggiungere

o alterare i messaggi previsti. Il server non deve andare in crash (cioè non deve interrompere il

servizio) se il client invia input sbagliati o se chiude la connessione bruscamente. Se il client invia

input sbagliati, il server deve semplicemente chiudere la connessione al client.

Programmazione per Internet e Web – prova al calcolatore

30 agosto 2019

  • Il tempo a disposizione è di 80m.
  • Si può consultare soltanto la documentazione ufficiale di JDK.
  • Ai fini della consegna, salvare l’elaborato in una cartella del desktop dal titolo CognomeNome, dove Cognome e Nome sono i propri dati anagrafici.

Esercizio 3 (20 punti). Realizza un server in Java, in base alle seguenti specifiche:

 Il server accetta richieste di servizio sulla porta TCP 40000, e gestisce più client

simultaneamente. I messaggi tra server e client sono testuali, con codifica ASCII.

 Una volta stabilita la connessione, il server invia al client il messaggio “Connessione

stabilita”.

 Quindi il client invia al server una sequenza di k stringhe, una per linea, tale che: (i) ogni

stringa tranne l’ultima contiene solo caratteri 0 o 1; (ii) l’ultima stringa è formata dal solo

carattere ‘#’, e serve a segnalare la fine della sequenza.

 Il server restituisce una stringa della forma z 1 #z 2 #...#zk, dove zi rappresenta il numero

di 0 della stringa sulla linea i; inviata la risposta, il server chiude la connessione.

Note: Il protocollo di comunicazione va rispettato così come descritto nel testo, senza aggiungere

o alterare i messaggi previsti. Il server non deve andare in crash (cioè non deve interrompere il

servizio) se il client invia input sbagliati o se chiude la connessione bruscamente. Se il client invia

input sbagliati, il server deve semplicemente chiudere la connessione al client.

Programmazione per Internet e Web – Prova Scritta

30 agosto 2019

Regole: (a) il tempo a disposizione è di 40m. (b) scrivere ogni risposta in modo chiaro (possibilmente in stampatello). (c) rispondere in modo puntuale alle domande, senza aggiungere informazioni non richieste dal testo

Esercizio 1 (5 punti). Illustra sinteticamente le caratteristiche del protocollo POP3 nel servizio di

posta elettronica.

Esercizio 2 (5 punti). Scrivi il codice del metodo doGet di una servlet Java che riceve tre parametri

dal pacchetto di richiesta, di nome rispettivamente nome, cognome ed età , e che restituisce, in

formato JSON, la descrizione di un oggetto persona con campi nominativo e maggiorenne. Il

valore del campo nominativo è la concatenazione dei parametri nome e cognome , mentre il valore

del campo maggiorenne è true o false, in funzione del valore del campo età.