Font size
Worksheetsnon roteare kekko
Total questions: 57
Worksheet time: 30mins
L'espressione $(var):
Non restituisce nulla perché la sintassi è scorretta
Ricerca l'HttpServletRequest. l'HttpSession e il ServletContext, in questo ordine, e restituisce l'oggetto con nome var
Ricerca l'HttpServletRequest. l'HttpSession e il ServletContext, il PageContext, in questo ordine, e restituisce l'oggetto con nome var
Ricerca il PageContext, l'HttpServletRequest. l'HttpSession e il ServletContext, in questo ordine, e restituisce l'oggetto con nome var
Quale è l'attributo dell'elemento form è usato per specificare il modo in cui i dati inseriti dall'utente saranno inviati al server web?
L'attributo method
L'attributo get
L'attributo post
L'attributo action
Nel modello MVC:
Un bean interagisce con il servlet container per inviare la risposta
Una JSP processa la request
La servlet formatta la risposta
Una JSP legge i dati da presentare dai bean
I javabeans hanno bisogno della libreria servlet API:
Falso
Vero
Marcare l'affermazione corretta
Il modello web non è client/server
Apache Tomcat è un web client
Firefox è un web server
Il Web non è Internet ed Internet non è il Web
In HTML, quali di questi elementi sono tutti elementi relati al tag <table> ?
<table><head><td><tfoot>
<table><th><tr><td>
<table><body><td><form>
<table><thost><td><tt>
Quale opzioni è corretta rispetto all'istruzione <c:if test="${income > 8000}"> ?
Fa parte del JSTL function e posso inserirla in una pagina JSP
è una scriptlet e posso inserirla in una pagina JSP
Fa parte dell'expression language e posso inserirla in una pagina JSP
Fa parte del JSTL core e posso inserirla in una pagina JSP
Il web è:
Un insieme di software e protocolli
Un insieme di computer collegati in rete
Sinonimo di Internet
Un insieme di documenti a cui è possibile accedere tramite email
Quando viene invocato il metodo destroy() di una servlet ?
Quando la servlet viene disinstallata dal server
Alla fine di ogni esecuzione della servlet
Ogni volta che la servlet è invocata
Quando la servlet viene creata per la prima volta
Quale linea di codice HTML crea una casella di testo scorrevole che può visualizzare tre righe di testo lunghe 30 caratteri ciascuna?
<input type="textarea" name="comments" width="30" rows="3"/>
<input type="text" name="comments" chars="30" rows="3"/>
<textarea name="comments" cols="30" rows="3"/>
<text name="comments" width="30" rows="3"/>
Le componenti del modello MVC sono:
Model(classi java) Presentation(jsp) Business(servlets)
Model(jsp) View(classi java) Controller(servlets)
Model(classi java) View(servlets) Controller(jsp)
Model(classi java) View(jsp) Controller(servlets)
Quale dei seguenti modi non può essere usato per tenere traccia delle precedenti richieste di un client ?
Usando la riscrittura degli URL
Usando i campi nascosti dei moduli
Usando i cookie
Usando il forward delle richieste
L'espressione ${customer.name} è equivalente a
<% page import="coreservlets.NameBean" %>
<% NameBean person = (NameBean)pageContext.findAttribute("customer"); %>
<%= person.getFirstName() %>
Falso
Vero
Quale attributo è utilizzato per specificare una pagina JSP che dovrebbe elaborare qualsiasi eccezione lanciata ma non catturata nella pagina corrente ?
L'attributo isErrorPage
isThreadSafe
autoflush
L'attributo ErrorPage
Quale attributo è utilizzato per indicare se una pagina JSP è una pagina di errore?
isErrorPage
autoflush
isThreadSafe
ErrorPage
La pagina JSP può essere eseguita contemporaneamente da più thread senza problemi di sincronizzazione, in quale caso?
autoflush
isThreadSafe impostato a true
nessuna delle precedenti
isErrorPage impostato a true
Come viene svuotato automaticamente il buffer di output quando raggiunge una certa dimensione?
autoflush impostato a true
IsThreadSafe impostato a true
isErrorPage impostato su true
flushauto impostato su true
Come sono inviati i dati di un metodo POST?
Attraverso il body
Attraverso l'URL
Nell'header Parameter
Nell'header di POSTA
Che differenza c'è fra una servlet ed una JSP?
Nessuna, sono entrambe servlet scritte in Java
Nessuna, entrambe vengono eseguite direttamente dal servlet container
Una(JSP) è codice Java e l'altra(servlet) è solo codice HTML
Sono entrambi servlet ma una(servlet) è scritta completamente in Java mentre l'altra(JSP) è scritta in codice HTML che può includere anche parti di codice in Java
Dove si trova e cosa indica la stringa "HTTP/1.1 404 Not Found"
è la prima linea di un messaggio di risposta HTTP ed indica che la risorsa richiesta non è sul server
è la prima linea di un messaggio di richiesta HTTP ed indica che la risorsa richiesta non è sul server
è la seconda linea di un messaggio di richiesta HTTP ed indica che la risorsa richiesta non trova il protocollo
è la seconda linea di un messaggio di risposta HTTP ed indica che la risorsa richiesta non è sul server
In HTML, come si specifica una selezione esclusiva fra più elementi ?
<select>
<input type="button">
<input type="radio">
<input type="check">
In Tomcat 9.xx.xx la init() di una servlet è eseguita dal servlet container
O quando si fa il caricamento della servlet o quando la servlet viene chiamata per la prima volta
Sicuramente quando si fa il caricamento della servlet
Sicuramente quando la servlet viene chiamata per la prima volta
La init() di una servlet non viene mai eseguita dal servlet container
Quale codice recupera i nomi dei parametri dalla request?
request.getParameter("names")
Non è possibile farlo
request.getParameterNames()
response.getParameterNames()
Quale livello di scoping non è usato dal modello MVC nella passaggio di dati dal controller alla view?
Applicazione
Richiesta
Sessione
Pagina
Indicare quale delle seguenti frasi non è vera?
Le altre opzioni sono tutte false
In MVC, il model è implementato con classi Java e si occupa di risolvere il problema in atto con eventuale gestione dei dati da un repository
In MVC, la View è implementata da JSP e può occuparsi solo di creare la presentazione dei risultati
In MVC, il controller è implementato da servlet e non può scrivere direttamente l'output nella response
In MVC, il Controller invia i dati ad una JSP tramite un'operazione di dispatch, inserendo i Javabeans creati dal Model nella request o session
Quali sono i livelli di "scoping" accessibili da una JSP ?
page, response, servletContext, session
application, page, cookie, context
page, cookie, request, session
page, request, session, application
Nella parte di query string di una URL quale simbolo si usa per separare le coppie di parametri fra loro?
&
=
?
+
Nel modello MVC
La view non può creare java beans
le azioni dell'utente non vengono mai intercettate dal controller
La view non è indipendente dalla logica applicativa
La view può accedere direttamente ai dati persistenti del db
I client e i server HTTP comunicano utilizzando solo i seguenti tipi di messaggi (sceglierne uno):
put and get
request and response
send and receive
include and forward
Un server HTTP
è un server attivo, utilizza il protocollo HTTP per richiedere una connessione ad un client
è un server passivo, rimane in ascolto per l'arrivo di eventuali connessioni di nuovi client
Usa l'URL per richiedere pagine web ai client HTTP
è una cosa diversa da un Web Server
Parlando di applicazioni Web come è possibile classificare lo stato in modo più preciso?
Stato di compilazione, Stato informativo persistente, Stato di richiesta
Stato di esecuzione, Stato di sessione, Stato informativo persistente
Stato di risposta, Stato di richiesta, Stato di sessione
Stato di esecuzione, Stato di richiesta, Stato di risposta
La sessione rappresenta lo stato associato ad una sequenza di pagine visualizzate da un utente:
Contiene tutte le informazioni necessarie durante l’esecuzione
Informazioni di sistema: IP di provenienza, lista delle pagine visualizzate, ...
Informazioni di natura applicativa: nome e cognome, username, quanti e quali prodotti ha inserito nel carrello per un acquisto, ...
VERO
FALSO
Lo scope di sessione è dato da:
accessibilità, SessionTracking
tempo di vita(lifespan), accessibilità
accessibilità, tempo di attesa
tempo di vita(lifespan), tempo di attesa
Quale tra queste affermazioni è falsa?
Tutte le affermazioni precedenti sono false
La conversazione rappresenta una sequenza di pagine di senso compiuto (ad esempio, l’insieme delle pagine necessarie per comperare un prodotto)
È univocamente definita dall’insieme delle pagine che la compongono e dall’insieme delle interfacce di input/output per la comunicazione tra le pagine (flusso della conversazione)
Il business flow raccoglie l’insieme delle chiamate necessarie per realizzare una conversazione
Business logic è l’insieme di tutte le funzioni offerte dall’applicazione
Si appoggia sui servizi per implementare i diversi algoritmi di risoluzione e provvedere alla generazione dei dati di output
Architettura multilivello non fornisce dettagli implementativi, non specifica quali moduli debbano essere implementati client-side o server-side, ne nessuna altra specifica tecnica: è una architettura essenzialmente logico-funzionale
VERO
FALSO
Schema di struttura multilivello
Presentation, Business Flows, Business Logic, Services
Presentation, Business Flows, Business Core, Services
Presentation, Business Flows, Business Logic, Servlet
Compilation, Business Flows, Business Logic, Services
L'utente invia i dati in un modulo
Il server web riceve il modulo
Per elaborare i dati del modulo, salvarli in un file o in un database o anche solo utilizzarli per generare la pagina di risposta, è necessaria un'altra app.
•
Quando il server web riceve una richiesta per un'app helper, presume che i parametri siano destinati a quell'app.
Il server web passa i parametri e fornisce all'app un modo per generare una risposta al client.
VERO
FALSO
Quando l'applicazione del tuo server web (come Apache) riceve una richiesta per una Servlet, il server inoltra la richiesta
alla Servlet stessa, NON al Container in cui è distribuita la Servlet.
NON alla Servlet stessa, ma al Container in cui è distribuita la Servlet.
Chi si occupa di tradurre il codice JSP in Java reale?
Container
Business Plan
il Browser
nessuno dei precedenti
Java Model 2 è suggerito per applicazioni di medio-grandi dimensioni
perché ha un design pattern più complesso e articolato e separa chiaramente il livello di presentazione dei contenuti dalla gestione della logica di business(sempre implementata nei JavaBeans)
Assolutamente NO, il Java Model 1 è quello largamente utilizzato, infatti integra meglio la logica di business e più avanzato rispetto al model 2 (per piccoli siti web o realtà lavorative)
Sia Java Model 1 che Java Model 2 svolgono le stesse funzioni e presentano le stesse funzionalità, la differenza sta nel fatto che il Model 2 funziona solo su macchine con Apache Tomcat dalla versione 9 in poi
Nessuna delle precedenti
I JavaBean sono classi che incapsulano molti oggetti in un singolo oggetto (il bean). Sono serializzabili, hanno un costruttore a zero argomenti e consentono l'accesso alle proprietà tramite metodi getter e setter.
VERO
FALSO
Quale tra queste affermazioni è FALSA
Tutte le affermazioni precedenti sono false
Model–rappresenta livello dei dati, incluse operazioni per accesso e modifica. Model deve notificare le view associate quando viene modificato e deve supportare:
-possibilità per la viewdi interrogare stato di model
-possibilità per il controller di accedere alle funzionalità incapsulate dal model
View–si occupa del rendering dei contenuti del model. Accede ai dati tramite il model e specifica come dati debbano essere presentati
-aggiorna la presentazione dei dati quando il model cambia
-gira l’input dell’utente verso il controller
Controller–definisce il comportamento dell’applicazione
-fa dispatchingdi richieste utente e seleziona la viewper la presentazione
-interpreta l’input dell’utente e lo mappa su azioni che devono essere eseguite dal model (in una GUI stand-alone, input come click e selezione menu; in una applicazione Web, richieste HTTP GET/POST)
Il Controller(implementato da Servlet) si occupa di eseguire logica business necessaria per ottenere il contenuto da mostrare. Il Controller mette il contenuto del Model(implementato con JavaBean o PlainOldJava Object -POJO) in un messaggio e decide a quale View(implementata da JSP) passare la richiesta
VERO
FALSO
Cos' è una Servlet
una nuovo gioco della Ubisoft
il nuovo server di R6
un classa Java particolare
non capisco l'inglese
Dove sono contenute le classi Java(Servlet) che ci interessano?
nel package jakarta.servlet.*
nel package jakarta.servlet.http.*
nel package servlet.http.*
nel package jakarta.http.servlet.*
All’arrivo di una richiesta HTTP il Servlet Container (Web Container) crea un oggetto request e un oggetto response e li passa alla Servlet
FALSO
VERO
Quale affermazioni è sbagliata:
Gli oggetti di tipo Response rappresentano le informazioni restituite al client in risposta ad una Request
Il Servlet Container controlla e supporta automaticamente il ciclo di vita di una Servlet
• Esiste un solo stato principale: inizialized
Gli oggetti di tipo Request rappresentano la chiamata al Server effettuata dal Client
Gli oggetti di tipo Request rappresentano la chiamata al Client effettuata dal Server
web.xml
Il Deployment Descriptor consiste in un file di configurazione in formato XML web.xml in WEB-INF e può contenere:
Nome,
Classe Java corrispondente
Una serie di parametri di configurazione (coppie nome-valore, valori di inizializzazione)
Contiene mappatura fra URL e Servlet che compongono l’applicazione
tutte le affermazioni sono corrette
Una Servlet accede ai propri parametri di configurazione mediante:(uno o più opzioni corrette)
Il parametro di tipo ServletConfig passato al metodo init()
il metodo getServletConfig() della Servlet, che può essere invocato in qualunque momento
il metodo getServletConfig() della JSP, che può essere invocato in qualunque momento
il metodo getServletConfig() della Servlet, che può essere invocato solo quando vi è un operazione di scrittura
Servlet context viene condiviso tra tutti gli utenti, le richieste e le Servlet facenti parte della stessa Web application
VERO
FALSO
Quale metodo consente di accedere alle risorse statiche della Web application(es. immagini)
response.getParameter("image")
InputStreamgetResourceAsStream(Stringpath)
request.getParameter("image")
InputStreamgetResourceAsStream(image)
Quale affermazione è corretta?
tutte le precedenti
Gli attributi di contesto sono accessibili a tutte le Servlet e funzionano come variabili “globali”
Gli attributi di contesto vengono gestiti a runtime:
possono essere creati, scritti e letti dalle Servlet
HTTP è un protocollo stateless: non fornisce in modo nativo meccanismi per il mantenimento dello stato tra diverse richieste provenienti dallo stesso client
Come rendere HTTP non stateless:(uno o più opzioni corrette)
nessuna delle precedenti
uso dei cookie
uso della sessione (session tracking)
URL rewriting
Gli oggetti scoped forniscono i seguenti metodi per immagazzinare e ritrovare oggetti nei rispettivi ambiti (scope):
void setAttribute(String name, Object o);
Object getAttribute(String name);
void removeAttribute(String name);
Enumeration getAttributeNames();
void setParameter(String name, Object o);
Object getParameter(String name);
void removeParameter(String name);
Enumeration getParameterNames();
void setAttribute(String name);
Object getAttribute(String name);
void removeAttribute(String name);
Enumeration getAttributeNames(String name);
nessun delle precedenti
Inoltro(forward) si usa:(uno o più risposte corrette)
Nessuna delle opzioni
Si usa in situazioni in cui una Servlet si occupa di parte dell’elaborazione della
richiesta e delega a qualcun altro la gestione della risposta
Si deve ottenere un oggetto di tipo RequestDispatcher a partire da un oggetto
request (o da un oggetto ServletContext) passando come parametro l’URL della
risorsa
Si invoca poi il metodo forward passando anche in questo caso request e
response
Come includere una risorsa(include):(una o più opzioni corrette)
nessuna delle precedenti
Per includere una risorsa (Servlet, JSP o file HTML) si ricorre a un
oggetto di tipo RequestDispatcher
Si invoca il metodo include passando come parametri request
e response che vengono così condivisi con la risorsa inclusa
Si invoca poi il metodo include passando come parametri i metodi toGet()
e toPost() che vengono così condivisi con la risorsa inclusa
Completa il seguente frammento di codice:(le due parti mancanti nella risposta separale con uno spazio
RequestDispatcher dispatcher = request.___________________("/inServlet");
__________________________(request, response)
(a)
