cerca
Appello d'esame di Tecnologie Web - 15/07/2008
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.TemiEsameTW09 History

Hide minor edits - Show changes to output

Changed lines 328-329 from:
Per caricare una servlet, il server ha bisogno di conoscere il classname della servlet, cioè il nome della servlet richiesto dal browser.
to:
Per caricare una servlet, il server ha bisogno di conoscere il classname della servlet, cioè il nome della servlet richiesto dal browser. Se presente anche il nome del package.nomeDellaServlet
Changed line 339 from:
Il metodo che entra in gioco è '''service()''', invocato per ogni richiesta in arrivo, da thread del processo container.\\
to:
Il metodo che entra in gioco è '''service()'''(anche questo definito dall'interfaccia javax.sevlet.Servlet), invocato per ogni richiesta in arrivo, da thread del processo container.\\
Added lines 341-344:

Nella fase di servizio vengono utilizzati vari metodi HTTP, i due principali sono '''doGet()''' e '''doPost()''', la differenza che intercorre tra i due è sempre la stessa:\\
nel primo caso le informazioni vengono accodate sotto forma di query string(? seguito dalla coppia nome=valore) alla URL, con eventuale perdita di informazione se il web server limita i caratteri della URL a 255.\\
Nel secondo caso non si può avere perdita di informazione perché la risposta viene inviata nel body e non nella URL.
Changed lines 355-357 from:
Se il parametro titolo è vuoto appare a video
la scritta riempire il campo.
Successivamente viene incluso li file cinema.xml dal quale vengono estratti il titolo del film richiesto dalla variabile test e la locandina dello stesso che verranno visualizzati a video. Se nessun film riporta quel titolo verrà visualizzata a video la scritta "Spiacente, nessun film trovato il titolo" e visualizzato quale titolo era stato cercato.
to:
Se il parametro titolo è vuoto appare a video la scritta riempire il campo. Successivamente viene incluso li file cinema.xml, ne viene effettuato il parsing, dal quale vengono estratti il titolo del film richiesto dalla variabile test e la locandina dello stesso che verranno visualizzati a video. Se nessun film riporta quel titolo verrà visualizzata a video la scritta "Spiacente, nessun film trovato il titolo" e visualizzato quale titolo era stato cercato.
Changed lines 253-254 from:
** it was a dark and... [/bookstore/book[2]/author/excerpt/p[1]/text()]
** but then all night... [/bookstore/book[2]/author/excerpt/p[2]/text()]
to:
** it was a dark and... [/bookstore/book[2]/excerpt/p[1]/text()]
** but then all night... [/bookstore/book[2]/excerpt/p[2]/text()]
Changed lines 351-353 from:
Oh non riuscivo a mettere su il testo dell'esercizio senza che mi sfasasse la pagina! Però non ho ancora fatto l'esercizio! :P
to:
Oh non riuscivo a mettere su il testo dell'esercizio senza che mi sfasasse la pagina!
Deleted lines 357-360:


%warning%'''WARNING'''\\
Manca soluzione
Added lines 355-358:

Se il parametro titolo è vuoto appare a video
la scritta riempire il campo.
Successivamente viene incluso li file cinema.xml dal quale vengono estratti il titolo del film richiesto dalla variabile test e la locandina dello stesso che verranno visualizzati a video. Se nessun film riporta quel titolo verrà visualizzata a video la scritta "Spiacente, nessun film trovato il titolo" e visualizzato quale titolo era stato cercato.
Added lines 355-358:


%warning%'''WARNING'''\\
Manca soluzione
Added lines 352-354:


%red%[-'''SOLUZIONE'''-]
Changed lines 349-351 from:
Attach:esercizio6.txt
to:
Attach:esercizio6.txt\\\

Oh non riuscivo a mettere su il testo dell'esercizio senza che mi sfasasse la pagina! Però non ho ancora fatto l'esercizio! :P
Changed line 349 from:
to:
Attach:esercizio6.txt
Changed lines 347-381 from:
'''Spiegare il funzionamento e commentare dettagliatamente il seguente codice.'''\\\
>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<
[@

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<c:choose>
<c:when test="${(empty param.titolo)}">
Riempire il campo
</c:when>
<c:otherwise>
<c:set var="fileXML">
<%@ include file="cinema.xml" %>
</c:set>
<x:parse doc="${fileXML}" var="xml"/>
<x:forEach select="$xml/Films/Film">
<x:set var="nodoTitolo" select="string(Titolo)"/>
<c:if test="${nodoTitolo==param.titolo}">
<c:set var="controllo" value="true"/>
<br/><br/><br/>
Titolo: <c:out value="${nodoTitolo}"/><br/><br/>
<img src="<x:out select='string(Locandina)'/>"/> <br/><br/>
</c:if>
</x:forEach>
<c:if test='${controllo != "true"}'>
Spiacente, nessun film trovato il titolo<br/><br/>
<b><c:out value="${param.titolo}"/>
</c:if>
</c:otherwise>
</c:choose>
</body>
</html>

@]
>><<
to:
'''Spiegare il funzionamento e commentare dettagliatamente il seguente codice.'''
Changed line 348 from:
to:
>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<
Added line 381:
>><<
Changed lines 347-348 from:
'''Spiegare il funzionamento e commentare dettagliatamente il seguente codice.'''
to:
'''Spiegare il funzionamento e commentare dettagliatamente il seguente codice.'''\\\

[@
Changed line 380 from:
to:
@]
Changed lines 348-349 from:
[@
to:
Deleted lines 376-377:

@]
Added line 349:
Added line 378:
Changed lines 348-349 from:
to:
[@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<c:choose>
<c:when test="${(empty param.titolo)}">
Riempire il campo
</c:when>
<c:otherwise>
<c:set var="fileXML">
<%@ include file="cinema.xml" %>
</c:set>
<x:parse doc="${fileXML}" var="xml"/>
<x:forEach select="$xml/Films/Film">
<x:set var="nodoTitolo" select="string(Titolo)"/>
<c:if test="${nodoTitolo==param.titolo}">
<c:set var="controllo" value="true"/>
<br/><br/><br/>
Titolo: <c:out value="${nodoTitolo}"/><br/><br/>
<img src="<x:out select='string(Locandina)'/>"/> <br/><br/>
</c:if>
</x:forEach>
<c:if test='${controllo != "true"}'>
Spiacente, nessun film trovato il titolo<br/><br/>
<b><c:out value="${param.titolo}"/>
</c:if>
</c:otherwise>
</c:choose>
</body>
</html>
@]
Changed lines 349-391 from:
>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<
[@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

<c:choose>

<c:when test="${(empty param.titolo)}">
Riempire il campo
</c:when>

<c:otherwise>
<c:set var="fileXML">
<%@ include file="cinema.xml" %>
</c:set>

<x:parse doc="${fileXML}" var="xml"/>

<x:forEach select="$xml/Films/Film">
<x:set var="nodoTitolo" select="string(Titolo)"/>

<c:if test="${nodoTitolo==param.titolo}">
<c:set var="controllo" value="true"/>
<br/><br/><br/>
Titolo: <c:out value="${nodoTitolo}"/><br/><br/>
<img src="<x:out select='string(Locandina)'/>"/> <br/><br/>

</c:if>

</x:forEach>

<c:if test='${controllo != "true"}'>
Spiacente, nessun film trovato il titolo<br/><br/>
<b><c:out value="${param.titolo}"/>
</c:if>

</c:otherwise>
</c:choose>

</body>
</html>
@]
>><<
to:
Added lines 345-393:

!!Esercizio 6
'''Spiegare il funzionamento e commentare dettagliatamente il seguente codice.'''

>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<
[@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

<c:choose>

<c:when test="${(empty param.titolo)}">
Riempire il campo
</c:when>

<c:otherwise>
<c:set var="fileXML">
<%@ include file="cinema.xml" %>
</c:set>

<x:parse doc="${fileXML}" var="xml"/>

<x:forEach select="$xml/Films/Film">
<x:set var="nodoTitolo" select="string(Titolo)"/>

<c:if test="${nodoTitolo==param.titolo}">
<c:set var="controllo" value="true"/>
<br/><br/><br/>
Titolo: <c:out value="${nodoTitolo}"/><br/><br/>
<img src="<x:out select='string(Locandina)'/>"/> <br/><br/>

</c:if>

</x:forEach>

<c:if test='${controllo != "true"}'>
Spiacente, nessun film trovato il titolo<br/><br/>
<b><c:out value="${param.titolo}"/>
</c:if>

</c:otherwise>
</c:choose>

</body>
</html>
@]
>><<
Changed lines 52-53 from:
%warning%'''WARNING'''\\
Manca la Soluzione
to:
[@
<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

<xsd:element name="vxml">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="form" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:double"/>
</xsd:complexType>
</xsd:element>

<xsd:element name="form">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="var">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="expr" type="xsd:int"/>
</xsd:complexType>
</xsd:element>
<xsd:element ref="field"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:element>

<xsd:element name="field">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="prompt" maxOccurs="unbounded">
<xsd:complexType mixed="true">
<xsd:attribute name="count" type="xsd:int"/>
<xsd:attribute name="timeout" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element ref="catch"/>
<xsd:element ref="help"/>
<xsd:element ref="filled"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
</xsd:complexType>
</xsd:element>

<xsd:element name="catch">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="goto">
<xsd:complexType>
<xsd:attribute name="nextitem" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="event" type="xsd:string"/>
</xsd:complexType>
</xsd:element>

<xsd:element name="help">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="prompt" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

<xsd:element name="filled">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="prompt"/>
<xsd:element name="goto">
<xsd:complexType>
<xsd:attribute name="next" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

<xsd:element name="prompt">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="value">
<xsd:complexType>
<xsd:attribute name="class" type="xsd:string"/>
<xsd:attribute name="expr" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
@]
Changed lines 52-53 from:
to:
%warning%'''WARNING'''\\
Manca la Soluzione
Changed line 109 from:
Xpath4: my:book
to:
Xpath4: my:book
Changed lines 142-144 from:
to:
** book [/bookstore/book[1]]
** book [/bookstore/book[2]]
Changed lines 146-148 from:
to:
** [/bookstore/book[1]/author]
** [/bookstore/book[2]/author]
Changed lines 150-152 from:
to:
** [/bookstore/book[1]/author]
** [/bookstore/book[2]/author]
Added lines 158-160:
* '''/bookstore/book/author/excerpt/p/text()'''
** it was a dark and... [/bookstore/book[2]/author/excerpt/p[1]/text()]
** but then all night... [/bookstore/book[2]/author/excerpt/p[2]/text()]
Changed line 62 from:
<bookstore specialty="novel">
to:
<bookstore speciality="novel">
Changed lines 120-121 from:
* Xpath1:
to:
* Xpath1: [/bookstore/book[2]]
Added lines 123-125:
** [/bookstore/book[1]/author/last-name]
** [/bookstore/book[1]/editor/last-name]
** [/bookstore/book[2]/author/last-name]
Changed lines 133-135 from:
**
to:
** intl [/bookstore/book[2]/price/@intl]
** exchange [/bookstore/book[2]/price[@exchange]
** from [/bookstore/book[2]/author/degree[1]/@from]
** from [/bookstore/book[2]/author/degree[2]/@from]
Added lines 119-141:

* Xpath1:

* Xpath2:

* Xpath3:
** speciality [/bookstore/@speciality]
** style [/bookstore/book[1]/@style]
** style [/bookstore/magazine/@style]
** frequency [/bookstore/magazine/@frequency]
** price [/bookstore/magazine/subscription/@price]
** per [/bookstore/magazine/subscription/@per]
** style [/bookstore/book[2]/@style]
** id [/bookstore/book[2]/@id]
**



* Xpath4:

* Xpath5:

* Xpath6:
Changed lines 43-44 from:
to:
* primo errore: '''<var#''' non si può mettere il cancelletto nel nome dell'elemento.

* secondo errore: '''<goto next="#topMenu">''' questo elemento viene aperto, ma non viene chiuso, quindi non rispetta le regole dei documenti XML ben formati perché deve essere chiuso per forza tramite ''</goto>'' oppure tramite ''/>''
Added lines 51-52:
Added lines 48-120:


!!Esercizio 2
'''Considerate la seguente istanza XML e le espressioni Xpath sottostanti:'''

>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<
[@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="myfile.xsl" ?>
<bookstore specialty="novel">
<book style="textbook">
<author>
<first-name>Mary</first-name>
<last-name>Bob</last-name>
<publication>Selected Short Stories of
<first-name>Mary</first-name>
<last-name>Bob</last-name>
</publication>
</author>
<editor>
<first-name>Britney</first-name>
<last-name>Bob</last-name>
</editor>
<price>55</price>
</book>
<magazine style="glossy" frequency="monthly">
<price>2.50</price>
<subscription price="24" per="year"/>
</magazine>
<book style="novel" id="myfave">
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
<degree from="Trenton U">B.A.</degree>
<degree from="Harvard">Ph.D.</degree>
<award>Pulitzer</award>
<publication>Still in Trenton</publication>
<publication>Trenton Forever</publication>
</author>
<price intl="Canada" exchange="0.7">6.50</price>
<excerpt>
<p>It was a dark and stormy night.</p>
<p>But then all nights in Trenton seem dark and
stormy to someone who has gone through what
<emph>I</emph> have.</p>
<definition-list>
<term>Trenton</term>
<definition>misery</definition>
</definition-list>
</excerpt>
</book>
</bookstore>

Xpath1: book[/bookstore/@specialty=@style]
Xpath2: book/*/last-name
Xpath3: @*
Xpath4: my:book
Xpath5: book/author[last()]
Xpath6: author[* = "Bob"]

@]
>><<

'''2.a Listate per ogni espressione Xpath i nodi XML ritornati.'''

%red%[-'''SOLUZIONE'''-]



'''2.b Scrivete un tipo di espressione Xpath non proposta nell’esercizio.'''

%red%[-'''SOLUZIONE'''-]
Added lines 6-48:

!!Esercizio 1
'''Considerate la seguente istanza XML:'''

>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<
[@
<?xml version="1.0" encoding="UTF-8"?>

<vxml version="1.0">
<form id="getChoice">
<var# name="noDialogProblems" expr="0"/>
<field name="choiceVoice" type="number">
<prompt count="1" timeout="4s">Please look at the list of flights. From that
list, what is the flight number you prefer?</prompt>
<prompt count="2" timeout="4s">Please take you time. I will wait for up to 1
minute for you to make up your mind.</prompt>
<catch event="nomatch noinput">
<goto nextitem="resultIM"/>
</catch>
<help>
<prompt>Please say the flight number.</prompt>
</help>
<filled>
<prompt>Thank you for choosing flight <value class="digits"
expr="choiceVoice"/>.</prompt>
<goto next="#topMenu">
</filled>
</field>
</form>
</vxml>
@]
>><<

'''1.a Nel documento esistono due errori che lo renderebbero non ben formato. Individuateli e commentateli.'''

%red%[-'''SOLUZIONE'''-]



'''1.b Scrivete un schema che renderebbe valido questo documento.'''

%red%[-'''SOLUZIONE'''-]
Changed lines 33-34 from:
%warning%'''WARNING'''\\
manca la soluzione
to:
'''XSL'''(''eXtensible Stylesheet Language'') è uno standard per definire fogli di stile XML in altri formati.\\
I possibili usi sono:
* trasformare documenti XML in documenti XHTML
* filtrare ed ordinare dati XML
* definire parti di un documento XML
* formattare i dati in base al loro valore
Un foglio di stile XSL è formato da un insieme di '''template'''. Ogni elemento ''<xsl:template>'' contiene delle regole da applicare quando uno specifico nodo viene trovato.\\\

Il '''CSS'''(''Cascading Style Sheets'') è una tecnica che permette di fissare gli stili (tipo di carattere, colori e spaziature) da applicare ai documenti XHTML.\\
Fu introdotto per separare il contenuto e la presentazione per ottenere una maggior '''leggibilità del codice''', la '''facilità nella manutenzione''' e la '''personalizzazione dell’output'''.
Changed lines 18-26 from:
I principali '''concorrenti''' su Internet erano:
* FTP: meccanismo di scambio file che non gestisce la visualizzazione.
* ARCHIE: programma in grado di indicizzare il contenuto di molti archivi pubblici di file presenti su Internet e sino ad allora sparsi per la rete.
* WAIS: server che forniva servizi di ricerca avanzati per documenti di solo testo.
* GOPHER: meccanismo di organizzazione di documenti di testi in gerarchie distribuite su più server.
Invece i principali concorrenti come applicazioni ipertestuali erano:
* Hypercard e Toolbook: strumenti di produttività individuale.
* Microcosm: semplice server su rete locale, con identificazione degli utenti, e una serie di moduli da applicare ad applicazioni comuni(MS Word...) per permettere la ricerca e la creazione di link.
* Hyper-G: un sistema client-server complesso e completo, con un protocollo di comunicazione sofisticato, un modello di dati completo, ma senza il concetto di indirizzamento completo.
to:
I principali '''concorrenti su Internet''' erano:
* ''FTP'': meccanismo di scambio file che non gestisce la visualizzazione.
* ''ARCHIE'': programma in grado di indicizzare il contenuto di molti archivi pubblici di file presenti su Internet e sino ad allora sparsi per la rete.
* ''WAIS'': server che forniva servizi di ricerca avanzati per documenti di solo testo.
* ''GOPHER'': meccanismo di organizzazione di documenti di testi in gerarchie distribuite su più server.
Invece i principali '''concorrenti come applicazioni ipertestuali''' erano:
* ''Hypercard e Toolbook'': strumenti di produttività individuale.
* ''Microcosm'': semplice server su rete locale, con identificazione degli utenti, e una serie di moduli da applicare ad applicazioni comuni(MS Word...) per permettere la ricerca e la creazione di link.
* ''Hyper-G'': un sistema client-server complesso e completo, con un protocollo di comunicazione sofisticato, un modello di dati completo, ma senza il concetto di indirizzamento completo.
Changed lines 12-13 from:
%warning%'''WARNING'''\\
manca la soluzione
to:
Il WWW è un sistema per la presentazione a schermo di documenti ipertestuali e multimediali.\\
'''1958''' Eisenhower chiede al congresso i fondi per ARPA, la nuova agenzia americana per lo sviluppo scientifico.\\
'''1967''' nasce ARPAnet che interconnette 4 università americane.\\
'''1989''' un gruppo di ricercatori del CERN di Ginevra riceve l'incarico di realizzare un meccanismo per la diffusione rapida di articoli e appunti tra i fisici del centro.\\
Tim Berners-Lee, Robert Cailliau identificarono Internet. la navigazione ipertestuale, come elemento chiave per questo meccanismo.\\
'''1991''' alla conferenza sugli ipertesti, Berners-Lee e Cailliau mostrarono il primo prototipo della loro applicazione, realizzata in client-server su architettura NeXT.\\
I principali '''concorrenti''' su Internet erano:
* FTP: meccanismo di scambio file che non gestisce la visualizzazione.
* ARCHIE: programma in grado di indicizzare il contenuto di molti archivi pubblici di file presenti su Internet e sino ad allora sparsi per la rete.
* WAIS: server che forniva servizi di ricerca avanzati per documenti di solo testo.
* GOPHER: meccanismo di organizzazione di documenti di testi in gerarchie distribuite su più server.
Invece i principali concorrenti come applicazioni ipertestuali erano:
* Hypercard e Toolbook: strumenti di produttività individuale.
* Microcosm: semplice server su rete locale, con identificazione degli utenti, e una serie di moduli da applicare ad applicazioni comuni(MS Word...) per permettere la ricerca e la creazione di link.
* Hyper-G: un sistema client-server complesso e completo, con un protocollo di comunicazione sofisticato, un modello di dati completo, ma senza il concetto di indirizzamento completo.
Come abbiamo già visto il punto di forza che ha portato alla "vittoria" del WWW è la '''scalabilità'''.
Changed lines 42-43 from:
to:
Lo svantaggio dei cookie è che possono portare ad una violazione della privacy e, nel caso si riuscisse a leggere i cookie di un determinato utente, provocare spamming.\\
''Nota'': i cookie essendo file di testo non possono essere portatori di virus, perché non possono essere eseguiti, cosa necessaria per qualsiasi codice dannoso.
Changed line 27 from:
I Cookie sono dei file di testo non interpretabili lasciati in consegna ad un client che può grazie ad essi mantenere lo stato di precedenti connessioni. Vengono inviati al server di pertinenza ogni volta che il client richiede un documento.\\
to:
I Cookie sono dei file di testo non interpretabili lasciati in consegna ad un client che può grazie ad essi mantenere lo stato di precedenti connessioni.\\
Added lines 29-33:
Prima di effettuare ogni richiesta al server, il client verifica se ha sul suo disco un cookie di quel server; se lo trova ne copia il contenuto nell'header della richiesta HTTP.\\
In sostanza i cookie permettono di simulare una sessione.

Attach:TW09Ex4.jpg
Changed lines 40-42 from:
''Version'': la versione della specifica a cui il cookie aderisce.\\\

Attach:TW09Ex4.jpg
to:
''Version'': la versione della specifica a cui il cookie aderisce.\\\\
Changed lines 30-35 from:
Comment: una stringa leggibile di descrizione del cookie.\\
Domain: il dominio per cui il cookie è valido.\\
Max-Age: la durata di validità del cookie in secondi.\\
Path: l'URI per il quale il cookie è valido.\\
Secure: la richiesta che il client contatti il server usando soltanto un meccanismo sicuro(HTTPS).\\
Version: la versione della specifica a cui il cookie aderisce.\\\
to:
''Comment'': una stringa leggibile di descrizione del cookie.\\
''Domain'': il dominio per cui il cookie è valido.\\
''Max-Age'': la durata di validità del cookie in secondi.\\
''Path'': l'URI per il quale il cookie è valido.\\
''Secure'': la richiesta che il client contatti il server usando soltanto un meccanismo sicuro(HTTPS).\\
''Version'': la versione della specifica a cui il cookie aderisce.\\\

Attach:TW09Ex4.jpg
Changed lines 27-28 from:
%warning%'''WARNING'''\\
manca la soluzione
to:
I Cookie sono dei file di testo non interpretabili lasciati in consegna ad un client che può grazie ad essi mantenere lo stato di precedenti connessioni. Vengono inviati al server di pertinenza ogni volta che il client richiede un documento.\\
Alla prima richiesta di un client, il server fornisce la risposta più un header aggiuntivo, il cookie, con dati arbitrari, e con la specifica di usarlo per ogni successiva richiesta.\\
Esempi di campi contenuti in un cookie:\\
Comment: una stringa leggibile di descrizione del cookie.\\
Domain: il dominio per cui il cookie è valido.\\
Max-Age: la durata di validità del cookie in secondi.\\
Path: l'URI per il quale il cookie è valido.\\
Secure: la richiesta che il client contatti il server usando soltanto un meccanismo sicuro(HTTPS).\\
Version: la versione della specifica a cui il cookie aderisce.\\\
Changed lines 35-36 from:
%warning%'''WARNING'''\\
manca la soluzione
to:
Il ciclo di vita di una servlet è caratterizzata da 4 fasi:\\
'''1.''' '''Caricamento''':\\
Una servlet può essere caricata quando:
* viene avviato il server
* l'amministratore di sistema richiede al server di caricare la servlet
* il browser tenta l'accesso alla servlet
Per caricare una servlet, il server ha bisogno di conoscere il classname della servlet, cioè il nome della servlet richiesto dal browser.

'''2.''' '''Inizializzazione''':\\
Consiste nella creazione e inizializzazione delle risorse che verranno utilizzate per rispondere alle richieste.
Il container invoca il metodo '''init()''', prima di poter servire richieste e produrre risposte . Questo metodo è definito dall'interfaccia ''javax.servlet.Servlet''', che ovviamente ogni servlet dovrà implementare.

'''3.''' '''Servizio''':\\
Durante questa fase la servlet:
* interagisce con le richieste provenienti dai client
* interagisce con altre servlet o risorse
* produce risposte
Il metodo che entra in gioco è '''service()''', invocato per ogni richiesta in arrivo, da thread del processo container.\\
Il metodo service() richiede due parametri che rappresentano la richiesta da servire e la risposta da produrre, questi due parametri sono identificati dai due oggetti Java '''javax.servlet.ServletRequest''' e '''javax.servlet.ServletResponse'''.

'''4.''' '''Deattivazione''':\\
Durante questa fase una servlet viene rimossa dall'ambiente di esecuzione rilasciando ogni risorsa creata per gestire le richieste.\\
Il container per deattivare la servlet invoca il metodo '''destroy()'''. Il metodo fa sempre parte dell'interfaccia '''javax.servlet.Servlet'''.
Added lines 1-39:
(:title Appello d'esame di Tecnologie Web - 15/07/2008:)
[[Torna alla pagina di Tecnologie Web -> TecnologieWeb]]
----

%titolo%''':: Appello d'esame di Tecnologie Web - 15/07/2008 ::'''

!!Esercizio 3
'''3.a Illustrate brevemente le principali tappe della storia del WWW.'''\\\

%red%[-'''SOLUZIONE'''-]

%warning%'''WARNING'''\\
manca la soluzione

'''3.b Spiegate la differenza tra i fogli di stile CSS e XSL.'''\\\

%red%[-'''SOLUZIONE'''-]

%warning%'''WARNING'''\\
manca la soluzione

!!Esercizio 4
'''Cookies: cosa sono, vantaggi e svantaggi.'''\\\

%red%[-'''SOLUZIONE'''-]

%warning%'''WARNING'''\\
manca la soluzione

!!Esercizio 5
'''Spiegare il ciclo di vita di una servlet.'''\\\

%red%[-'''SOLUZIONE'''-]

%warning%'''WARNING'''\\
manca la soluzione

----
[[Torna alla pagina di Tecnologie Web -> TecnologieWeb]]