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


TPSIT - Servlet e APi Google, Appunti di Informatica

Appunti sulle servlet e API di Google.

Tipologia: Appunti

2020/2021

Caricato il 13/07/2021

zxcv1234567890
zxcv1234567890 🇮🇹

4.7

(3)

2 documenti

1 / 3

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Un'interfaccia di programmazione dell'applicazione (API) è un insieme particolare di
regole ('codice') e specifiche che i programmi software possono seguire per
comunicare tra loro . Serve come interfaccia tra diversi programmi software e facilita
la loro interazione.
Google mette a disposizione le API di Google Maps a tutti coloro che vogliono integrare le
loro mappe all’interno del proprio programma o del proprio sito (che sia WordPress o
meno) in modo tale da poter realizzare mappe interattive e dare un miglior servizio di
geolocalizzazione sia su desktop che su mobile.
Servlet vs CGI
Le servlet e gli script CGI sono programmi lato server (in esecuzione all'interno di un server
web) che gestiscono le richieste dei client e restituiscono una risposta personalizzata o
dinamica per ogni richiesta. La risposta dinamica potrebbe essere basata su input dell'utente
(ad esempio, la ricerca, lo shopping online, transazioni on-line) con i dati recuperati da
database o altre applicazioni.
Differenze
portabilità: il primo vantaggio delle servlet su CGI è nella sua indipendenza dalla
piattaforma. Le servlet possono essere eseguite su qualsiasi sistema operativo
purché sia installata una JVM.
efficienza: gli script CGI creano un processo nuovo per ogni richiesta, mentre le
servlet vengono caricate una sola volta (dopo la prima richiesta sono tenute in
memoria) e creano un thread per ogni richiesta.
linguaggio utilizzato: le servlet devono essere scritte in java, mentre gli script CGI
possono essere scritti in diversi linguaggi.
Le servlet sono oggetti java che vengono caricati ed eseguiti dal web server all’interno del
processo di richiesta/risposta di servizi. Il web server agisce come “container” che si occupa
della gestione del ciclo di vita della servlet, di passare alle servlet i dati del client e di
restituire ai client i dati prodotti dalla servlet.
Il servlet container più diffuso è Tomcat.
1. un client invia una richiesta (request) per una servlet a un web application server;
2. se si tratta di una prima richiesta allora il server istanzia e carica la servlet;
3. si attiva un thread che gestisce la comunicazione tra il client e la servlet stessa;
4. il server invia al thread-servlet la richiesta pervenutagli dal client;
5. il thread-servlet costruisce e imposta la risposta (response) e la inoltra al server;
6. il server invia la risposta al client.
Il package Java di base per le API Servlet è javax.servlet che contiene la definizione
dell’interfaccia Servlet e le classi utili alla comunicazione fra client e server. Il package
javax.servlet.http fornisce classi che estendono le funzionalità di base di una servlet
pf3

Anteprima parziale del testo

Scarica TPSIT - Servlet e APi Google e più Appunti in PDF di Informatica solo su Docsity!

Un'interfaccia di programmazione dell'applicazione (API) è un insieme particolare di

regole ('codice') e specifiche che i programmi software possono seguire per

comunicare tra loro. Serve come interfaccia tra diversi programmi software e facilita

la loro interazione.

Google mette a disposizione le API di Google Maps a tutti coloro che vogliono integrare le loro mappe all’interno del proprio programma o del proprio sito (che sia WordPress o meno) in modo tale da poter realizzare mappe interattive e dare un miglior servizio di geolocalizzazione sia su desktop che su mobile.

Servlet vs CGI

Le servlet e gli script CGI sono programmi lato server (in esecuzione all'interno di un server web) che gestiscono le richieste dei client e restituiscono una risposta personalizzata o dinamica per ogni richiesta. La risposta dinamica potrebbe essere basata su input dell'utente (ad esempio, la ricerca, lo shopping online, transazioni on-line) con i dati recuperati da database o altre applicazioni.

Differenze

portabilità : il primo vantaggio delle servlet su CGI è nella sua indipendenza dalla piattaforma. Le servlet possono essere eseguite su qualsiasi sistema operativo purché sia installata una JVM. ● efficienza : gli script CGI creano un processo nuovo per ogni richiesta, mentre le servlet vengono caricate una sola volta (dopo la prima richiesta sono tenute in memoria) e creano un thread per ogni richiesta. ● linguaggio utilizzato : le servlet devono essere scritte in java, mentre gli script CGI possono essere scritti in diversi linguaggi. Le servlet sono oggetti java che vengono caricati ed eseguiti dal web server all’interno del processo di richiesta/risposta di servizi. Il web server agisce come “container” che si occupa della gestione del ciclo di vita della servlet, di passare alle servlet i dati del client e di restituire ai client i dati prodotti dalla servlet. Il servlet container più diffuso è Tomcat.

  1. un client invia una richiesta (request) per una servlet a un web application server;
  2. se si tratta di una prima richiesta allora il server istanzia e carica la servlet;
  3. si attiva un thread che gestisce la comunicazione tra il client e la servlet stessa;
  4. il server invia al thread-servlet la richiesta pervenutagli dal client;
  5. il thread-servlet costruisce e imposta la risposta (response) e la inoltra al server;
  6. il server invia la risposta al client. Il package Java di base per le API Servlet è javax.servlet che contiene la definizione dell’interfaccia Servlet e le classi utili alla comunicazione fra client e server. Il package javax.servlet.http fornisce classi che estendono le funzionalità di base di una servlet

adottando le caratteristiche del protocollo http come la gestione dei metodi HTTP (GET, POST) e degli header HTTP. Tutte le servlet sono classi che implementano l'interfaccia servlet, o in maniera diretta, o estendendo una classe che la implementa come ad esempio HttpServlet.

La classe HTTPServlet

La classe HTTPServlet implementa service() e invoca un insieme di metodi, tra i quali quelli necessari per servire le richieste dal web. Il metodo service() viene invocato ogni volta che un client accede a una servlet ed è in grado di interpretare il tipo di richiesta HTTP e invocare il metodo opportuno. Per le applicazioni che utilizzano il protocollo HTTP non è necessario sovrascrivere il metodo service().

HTTPServletRequest

Rappresenta una richiesta http e mediante i metodi di questa classe è possibile: ● accedere a parametri o meta informazioni relative alla richiesta. Es: getRequestURI() restituisce l’URI richiesto; getMethod() fornisce il metodo HTTP utilizzato per inoltrare la richiesta; il metodo getParameter(String) consente di accedere per nome ai parametri contenuti nella query string. ● creare gli stream di input e la possibilità quindi di ricevere i dati della richiesta attraverso i metodi getInputStream e getReader.

HTTPServletResponse

Rappresenta una risposta http e fornisce alla servlet i metodi per rispondere al client: ● permette di fissare i parametri e gli heade r della risposta (come lunghezza o tipo MIME) ● rende possibile il reindirizzamento ● fornisce i metodi per creare gli stream di output e la possibilità quindi di i nviare i dati della risposta (getOutputStream per l’invio di dati in forma binaria e getWriter per l’invio attraverso il canale System.out) ● definisce una serie di costanti per inviare al browser il risultato dell'operazione richiesta.

Ciclo di vita di una servlet

Un ciclo di vita di una servlet è gestito tramite i metodi init(), service() and destroy() che gestiscono le tre fasi di una servlet.

Fase di caricamento

Il caricamento e l’istanziazione della servlet sono eseguiti dal web server e avvengono al momento della prima richiesta da parte dei client.

Fase di inizializzazione

L’inizializzazione di una servlet avviene con la chiamata del metodo init() al momento del suo caricamento. Un solo threads viene eseguito al momento della inizializzazione. Il metodo init() riceve come parametro un oggetto di tipo ServletConfig che contiene la configurazione iniziale di una servlet. Per salvare la configurazione si può’ richiamare il metodo super.init.