Laboratorio di reti II: Java Server Pages

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di reti II: Java Server Pages"

Transcript

1 Laboratorio di reti II: Java Server Pages Stefano Brocchi 6 aprile, 2009 Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

2 JSP - Java Server Pages Le Java Server Pages (JSP) sono un astrazione di alto livello per rappresentare delle servlet Una JSP è rappresentata da codice HTML con incapsulato al suo interno delle direttive JSP rappresentanti codice Java Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

3 JSP - Java Server Pages Alla prima richiesta di una pagina JSP il server effettuerà i seguenti passi Il codice JSP viene compilato per ottenere il codice Java rappresentante una servlet Il codice della servlet viene a sua volta compilato per ottenere un file class rappresentante una servlet La richiesta HTTP viene inviata alla classe che si occupa di generare la risposta Dopo la prima richiesta la classe viene tenuta in cache dal server per permettere una rapida risposta alle richieste successive Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

4 Perchè usare JSP? Il principale vantaggio delle JSP è quello di separare il codice HTML dal codice Java, separando così la vista dalla logica del sito Per questo obiettivo è opportuno inserire meno codice Java possibile in una JSP delegando eventualmente operazioni complesse a classi esterne alla pagina In questo modo una volta creata una pagina JSP questa può essere mantenuta o modificata da chiunque conosca anche solo l HTML Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

5 Oggetti predefiniti Java Server Pages In una pagina JSP vengono resi disponibili automaticamente diversi oggetti, tra cui i seguenti out di tipo JSPWriter, lo stream che scrive sulla risposta HTTP request di tipo HttpServletRequest, rappresentante la richiesta HTTP response di tipo HttpServletResponse, rappresentante la risposta HTTP session di tipo HttpSession, contenente la sessione corrente application di tipo ServletContext, rappresentante il contesto della servlet pagecontext di tipo PageContext, rappresentante il contesto della pagina JSP Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

6 Scriptlet Hello World in JSP Il codice Java può essere inserito direttamente nelle JSP tramite il tag <%... %>. In questo caso si parla di scriptlet Vediamo una semplice pagina JSP di esempio: <html> <head> <title>hello world in JSP</title> </head> <body> <% out.println("<h1>hello World!</h1>"); %> </body> </html> Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

7 Scriptlet Scriptlet frammentate E possibile inserire codice Java anche in frammenti di per sè incompleti: <html> <head> <title>hello world in JSP</title> </head> <body> <% String lang = request.getheader("accept-language"); if (lang!= null && lang.startswith("it")) { %> <h1> Ciao mondo! </h1> <% } else { %> <h1> Hello World! </h1> <% } %> </body> </html> Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

8 Scriptlet Esempio di stampa dei parametri Vediamo inoltre un esempio di pagina HTML che stampa in output i parametri in ingresso: <html><head><title>...</title></head><body> page import= java.util.* %> <h2> Parametri in ingresso: </h2><ul> <% Enumeration e = request.getparameternames(); while (e.hasmoreelements()) { String p = (String)e.nextElement(); out.println("<li>" + p + " = " + request.getparameter(p)); } %> </ul></body></html> Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

9 Espressioni JSP Espressioni JSP Tramite il tag <%=... %> è possibile specificare delle espressioni che verranno valutate ed il loro risultato, convertito se necessario a stringa, scritto nell HTML. Degli esempi: Valore del rapporto aureo: <%= (1 + Math.sqrt(5)) / 2 %> <br> Data di oggi: <%= new Date() %> <br> Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

10 Dichiarazioni JSP Dichiarazioni JSP Tramite il tag <%!... %> è possibile specificare delle dichiarazioni Java relative a campi o metodi della servlet Un esempio che conteggia il numero totale di visite ad una pagina <%! private int numeroaccessi = 0; %> <% numeroaccessi ++; %> Accessi globali a questa pagina: <%= numeroaccessi %> Notare che la variabile numeroaccessi viene inizializzata a zero solo al momento della creazione della servlet, cioè alla prima richiesta della pagina, mentre il suo incremento avviene ad ogni accesso Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

11 Direttive JSP Direttiva import Con il tag %> si dichiarano le direttive JSP Una possibile direttiva è la direttiva page che permette di specificare caratteristiche relative alla servlet che verrà generata Tramite l attributo import questa permette di specificare i pacchetti Java da importare nella servlet La sintassi da utilizzare è page import="..." %> Es, page import="java.util.*, java.sql.*" %> I pacchetti javax.servlet, javax.servlet.jsp e javax.servlet.http sono inclusi implicitamente in ogni JSP Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

12 Da JSP a servlet Java Server Pages Direttive JSP Riassumendo, le direttive di inclusione andranno nell intestazione della servlet, le dichiarazioni nel corpo della classe e le scriptlet all interno dei metodi di servizio (doget, dopost...) page import= java.util.* %> <%! private int numeroaccessi = 0;%> <html>... <% numeroaccessi ++; %> Data corrente: <%= new Date() %>... JSP Servlet import java.util.*;... public class myservlet extends HttpServlet { private int numeroaccessi = 0;... public void doget(...) {... out.println("<html>");... numeroaccessi ++; out.println("data corrente: "+ new Date()); } } Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

13 Direttiva page Java Server Pages Direttive JSP Altri attributi che si possono definire in direttive di tipo page... %> sono: extends che permette di specificare che la servlet generata estende una determinata classe isthreadsafe che specifica se più richieste possono essere inviate alla servlet contemporaneamente senza problemi. Per default impostato a true, se uguale a false le richieste successive alla prima vengono messe in attesa errorpage che indica una pagina che viene richiamata nel caso in cui si verifica un eccezione nella JSP iserrorpage che specifica, se uguale a true, che la pagina in questione viene utilizzata per la gestione degli errori Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

14 Direttive JSP Gestione degli errori Per gestire errori in JSP si utilizzano delle pagine apposite specificate tramite le direttive JSP Quando in una pagina si verifica un eccezione e questa ha specificato una errorpage, l esecuzione passa a questa seconda pagina Oltre ai normali oggetti a disposizione nelle JSP, nelle pagine per gli errori sarà disponibile l oggetto exception di tipo Throwable rappresentante l eccezione che ha causato il problema Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

15 Direttive JSP Gestione degli errori Vediamo un esempio di una pagina che genera un errore e di un altra che lo gestisce: page errorpage= err.jsp %> <% throw new RuntimeException("Eccezione di prova"); %> Nella pagina err.jsp: page iserrorpage= true %> <h1> Riscontrata un eccezione! </h1> <%= exception %> L output dell ultima riga di err.jsp sarà uguale al risultato di exception.tostring(), in questo caso a java.lang.runtimeexception: Eccezione di prova Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

16 Direttive JSP Direttiva include Un altra direttiva JSP è la direttiva include, definita con la seguente sintassi include file="filename" %> La direttiva include nella pagina JSP il contenuto del file specificato come se questo si trovasse al posto della direttiva E possibile specificare l inclusione di file JSP Spesso si includono inoltre dei file con del codice JSP che non rappresentano di per sè una pagina JSP completa ma solo un frammento di codice da eseguire nel contesto della pagina originale Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

17 Uso di bean Uso di bean Per permettere l astrazione della logica dalla vista, si fa uso nelle JSP di classi Java con un interfaccia molto semplice dette bean Grazie alla loro semplicità, l accesso ai loro metodi si può fare in modo del tutto automatico specificando gli opportuni parametri senza scrivere altro codice Grazie alle loro caratteristiche i bean vengono usati in molte librerie Java, come per esempio nelle swing Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

18 Bean in Java Java Server Pages Uso di bean Un bean è una classe Java con un numero di campi privati detti proprietà Per ogni proprietà con un determinato nome XXX possono esistere i due metodi getxxx() che ritorna il valore della proprietà setxxx() che imposta la proprietà ad un determinato valore Spesso i due metodi non fanno altro che quanto richiesto nella loro definizione; è possibile specificare comunque operazione aggiuntive Si può controllare, per esempio, che il valore della proprietà resti sempre in un determinato intervallo Nel caso in cui la proprietà derivi da un input dell utente, i metodi set possono essere utilizzati per controllarne la validità Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

19 Uso di bean Uso di Java bean Grazie alla reflection di Java, è possibile automatizzare la chiamata ad un metodo di un bean Per utilizzare un bean si può utilizzare la sintassi <jsp:usebean id="id" scope="scope" class="classname "> </jsp:usebean> Con il seguente codice si inizializza un bean istanza della classe classname in un oggetto di nome Id Il campo scope serve a definire l accesso e la durata di vita del bean. Può assumere i valori page, request, session o application Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

20 Uso di bean Uso di Java bean Una volta dichiarato l utilizzo di un bean, si possono manipolare i suoi valori con i tag <jsp:getproperty> e <jsp:setproperty> definiti dalla seguente sintassi: <jsp:getproperty name="beanid" property="proprietà"/> <jsp:setproperty name="beanid" property="proprietà" value="valore"/> L attributo name specifica l identificativo del bean da usare, property la proprietà da modificare e value il valore da impostare Il tag <jsp:getproperty> restituisce nella pagina JSP il valore della proprietà richiesta I tag <jsp:setproperty> e <jsp:getproperty> devono essere privi di contenuto Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

21 Uso di bean Gestione dei parametri tramite bean Se nel tag <jsp:setproperty> l attributo value non viene specificato, di default viene utilizzato il parametro della richiesta HTTP con lo stesso nome Questo consente di elaborare molto semplicemente dati in GET o in POST Se si vuole impostare un campo di un bean al valore di un parametro con un altro nome, specificare questo nome nell attributo param Es. <jsp:setproperty name="beanid" property="beanproperty" param="getparameter"> Sempre in <jsp:setproperty>, se l attributo property è impostato a *, verranno impostate tutte le proprietà del bean con nome uguale ad un parametro in ingresso Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

22 Uso di bean Esempio d uso dei bean: form HTML Vediamo un esempio di gestione di una form tramite bean File submit.html per l immissione di dati: <html> <head> <title> Pagina immissione dati </title> </head> <body> <form action= compute.jsp > <p><input type= text name= nome > Nome </p> <p><input type= text name= cognome > Cognome </p> <p><input type= submit ></p> </form> </body> </html> Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

23 Uso di bean Esempio d uso dei bean: bean Java Bean mybean.java: package beans; public class mybean { private String nome = ""; private String cognome = ""; public void setnome(string n) { nome = n; } public void setcognome(string c) { cognome = c; } public String getnome() { return nome; } public String getcognome() { return cognome; } } Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

24 Uso di bean Esempio d uso dei bean: pagina JSP File compute.jsp per l elaborazione dei dati: <jsp:usebean class="beans.mybean" id="beanid"> <jsp:setproperty name="beanid" property="*"/> </jsp:usebean> <html> <head> <title>pagina elaborazione dati</title> </head> <body> Nome inserito: <jsp:getproperty name="beanid" property="nome"/> <br> Cognome inserito: <jsp:getproperty name="beanid" property="cognome"/> <br> </body> </html> Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

25 Uso di bean Vantaggi dei bean Come si vede nell esempio, tramite la gestione con i bean i dati di un form vengono processati in modo molto semplice E possibile inoltre implementare nel bean una logica complessa per effettuare controlli sui campi inseriti dall utente Si può per esempio controllare che un indirizzo inserito rispetti la sintassi o controllare che uno username di un nuovo utente non sia già in uso In questo caso si mantiene l isolamento della logica del programma (nel codice Java) dalla pagina web stessa (pagina JSP) Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

26 Uso di bean Visibilità dei bean Per permettere la visibilità di un bean, la classe che lo realizza deve essere nel classpath relativo all applicazione web In Tomcat, inserire le classi nella cartella WEB-INF/classes Sempre in Tomcat, inserire sempre i bean in un pacchetto (nell esempio: beans) altrimenti il server potrebbe non essere in grado di trovare la classe Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

27 JSP ed XML JSP ed XML I tag JSP non rientrano nella normale sintassi HTML, nè nel linguaggio XML A volte considerare pagine JSP come una famiglia di documenti XML può essere comodo, in quanto così si potrebbero elaborare pagine JSP con strumenti relativi all XML Per questo per ogni tag JSP è stato elaborato un tag equivalente che rispetta la sintassi XML: Dichiarazioni <%!... %> <jsp:declaration>... </jsp:declaration> Direttive include include... %> <jsp:directive.include... /> Direttive page page... %> <jsp:directive.page... /> Espressioni <%=... %> <jsp:expression>... </jsp:expression> Scriptlet <%... %> <jsp:scriptlet>... </jsp:scriptlet> Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

28 Cenni sulle taglib Le taglib Nelle JSP, è possibile definire dei nuovi tag da inserire nell HTML il cui comportamento è definito da delle classi Java Alcuni brevissimi cenni sul loro funzionamento: Una taglib viene definita nelle JSP tramite la direttiva taglib uri="uri" prefix="prefix"> Dove viene specificato un file tld, che definisce la taglib e segnala le classi in essa contenute, ed il prefisso del tag associato A questo punto quando nella JSP vengono incontrati i tag definiti, verranno richiamati dei metodi delle classi associate che produrranno l output relativo a questo nuovo tag Le taglib non sono che un ulteriore meccanismo per astrarre operazioni Java tramite codice HTML Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

29 Cenni sulle taglib Esempio di taglib Per avere un idea di come è strutturata una pagina con taglib, un breve esempio di pagina JSP che fa uso della taglib definita in taglib.tld, dove è definita una classe di tag mytagclass taglib uri="/taglib.tld" prefix="mytag" %> <html> <head><title> Esempio di taglib </title></head> <body> <mytag:mytagclass /> </body> </html> In questo esempio quando il tag introdotto viene incontrato vengono richiamati gli opportuni metodi dalla classe associata al nome mytagclass nel file taglib.tld Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

30 Cenni sulle taglib Esempio di taglib (2) Un altro esempio di taglib: supponiamo di stampare il titolo ed il contenuto di un thread in un forum con il seguente codice <% out.println(threadgestor.getthreadtitle(1)); %> <% out.println(threadgestor.getthreadbody(1)); %> Notare che per non mischiare codice Java con la pagina JSP, presupponiamo che i metodi siano implementati in un oggetto di nome threadgestor definito in una classe diversa dalla JSP L isolamento della logica è già abbastanza buono, in quanto visualizziamo un thread con una quantità minima di codice Java; tuttavia tramite taglib questo codice si può completamente occultare Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

31 Cenni sulle taglib Esempio di taglib (2) Tramite taglib il precedente codice si potrebbe riscrivere come: taglib uri="/taglib.tld" prefix="thread" %> <thread:title threadid=1 /> <thread:body threadid=1 /> In questo caso il file taglib.tld e le classi da esso associate a thread:title e thread:body si occuperanno di delegare le operazioni necessarie ai metodi opportuni Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

32 Esercizio Java Server Pages Esercizio Realizzare tramite JSP la funzionalità di registrazione di nuovi utenti Per ogni utente, definire una serie di dati che questo dovrà inserire per registrarsi al forum Es. username, password, nome, cognome, , telefono... Imporre vari vincoli sui parametri così inseriti Si può imporre per esempio di usare nomi utenti contenenti solo caratteri alfanumerici, password con una lunghezza minima e massima, controllare che gli indirizzi siano plausibili (es. contenere una chiocciola ed almeno un punto) Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

33 Esercizio Esercizio Quando l utente ha inserito i dati, visualizzarne una schermata riassuntiva Stampare un messaggio di errore in caso di dati non validi, e chiedere di reinserire i dati Per controllare che le varie stringhe siano in un determinato formato, si può controllare la loro corrispondenza con un espressione regolare tramite il metodo matches di String Due esempi: s.matches("[a-za-z0-9]*") restituisce true se s è formata solo da alfanumerici; controlla che sia presente una chiocciola e un punto dopo di essa Se l utente ha inserito correttamente i dati, creare l account aggiornando il database Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

34 Esercizio Esercizio Isolare più possibile la logica del codice Java dalla pagina JSP Trattare i dati in ingresso e controllarne la validità tramite un bean Delegare l operazione di inserimento nel database all apposita classe Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, / 34

Svantaggi delle servlet

Svantaggi delle servlet Svantaggi delle servlet Le servlet sono la tecnologia principale di J2EE per comunicare con i browser dei client. Tuttavia ci sono degli inconvenienti per gli sviluppatori di applicazioni web: le servlet

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 8 Java Server Pages Java Server Pages è essenzialmente un modo più comodo per il programmatore dell applicazione web di scrivere una Servlet.

Dettagli

Introduzione alla programmazione Http lato server in Java

Introduzione alla programmazione Http lato server in Java Introduzione alla programmazione Http lato server in Java Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide API Java Titleper il Protocollo Http Programmazione Client java.net.url

Dettagli

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni Tomcat & Servlet Programmazione in Ambienti Distribuiti V 1.2 Marco Torchiano 2005 Contenuti Tomcat Applicazioni Web Struttura Sviluppo Deployment Servlet JSP Uso delle sessioni 1 Tomcat Tomcat è un contenitore

Dettagli

Laboratorio di sistemi Prima Web Application JSP [Java]

Laboratorio di sistemi Prima Web Application JSP [Java] Vogliamo scrivere la nostra prima web application che legga da tastiera il nostro nome e fornisca un messaggio di saluto. Per costruire la nostra applicazione creiamo con NetBeans un nuovo progetto. File

Dettagli

Java Server Pages. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.18 Prof. Roberto Canonico

Java Server Pages. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.18 Prof. Roberto Canonico Java Server Pages Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Java Server Pages (JSP) Java Server

Dettagli

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

Dettagli

Verso l architettura MVC-2 Java Server Pages (JSP)

Verso l architettura MVC-2 Java Server Pages (JSP) Verso l architettura MVC-2 Java Server Pages (JSP) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 JSP Una pagina JSP può essere vista come uno schema di pagina Web dove: le

Dettagli

Introduzione al linguaggio Java: Servlet e JSP

Introduzione al linguaggio Java: Servlet e JSP Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione

Dettagli

Laboratorio di reti II: Servlet

Laboratorio di reti II: Servlet Laboratorio di reti II: Servlet Stefano Brocchi brocchi@dsi.unifi.it 16 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Servlet 16 marzo, 2009 1 / 34 Le servlet Una servlet è una classe Java eseguita

Dettagli

JavaServer Pages: Introduzione

JavaServer Pages: Introduzione JavaServer Pages: Introduzione Gianluca Moro gianluca.moro@unibo.it Dipartimento di Elettronica, Informatica e Sistemistica Università di Bologna Sistemi reali in JSP!! ofoto.com: stampa e gestisce foto

Dettagli

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata

Dettagli

Verso l architettura MVC-2 Java Server Pages (JSP)

Verso l architettura MVC-2 Java Server Pages (JSP) Verso l architettura MVC-2 Java Server Pages (JSP) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 JSP Una pagina JSP può essere vista come uno schema di pagina Web dove: le parti statiche sono scritte in

Dettagli

1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet

1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet 1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet Controllo dell utente connesso al sito tramite JSP, Java Beans e Servlet. Ciò che ci proponiamo di fare è l accesso

Dettagli

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet:

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet: e JDBC Programmazione in Rete e Laboratorio Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino e : estensioni del Java API permettono di scrivere

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Struttura dell Applicazione versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Server-side Programming: Java servlets Parte II

Server-side Programming: Java servlets Parte II Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:

Dettagli

Università di Bergamo Facoltà di Ingegneria. Applicazioni Internet B. Paolo Salvaneschi B6_1 V1.7. JSP parte A

Università di Bergamo Facoltà di Ingegneria. Applicazioni Internet B. Paolo Salvaneschi B6_1 V1.7. JSP parte A Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B6_1 V1.7 JSP parte A Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

Servlet API. Programmazione in Ambienti Distribuiti A.A. 2003-04

Servlet API. Programmazione in Ambienti Distribuiti A.A. 2003-04 Servlet API Programmazione in Ambienti Distribuiti A.A. 2003-04 Servlet Interfaccia Java che modella il paradigma richiesta/elaborazione/risposta tipico delle applicazioni lato server Presuppone l esistenza

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Note pratiche sullo sviluppo di servlet (I)

Note pratiche sullo sviluppo di servlet (I) Note pratiche sullo sviluppo di servlet (I) Nel caso in cui sulla macchina locale (PC in laboratorio/pc a casa/portatile) ci sia a disposizione un ambiente Java (con compilatore) e un editor/ambiente di

Dettagli

Gestire le sessioni con le Servlet

Gestire le sessioni con le Servlet PROGETTO Gestire le sessioni con le Servlet Con il termine sessione si intende un insieme di attività correlate, con una o alcune di queste che sono preliminari ad altre. Si pensi, per esempio, a un qualsiasi

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Tener traccia del client

Tener traccia del client Tener traccia del client Raramente un applicazione web è costituita da una singola pagina (risorsa). E utile quindi tener traccia dei client che si collegano per rendere più semplice lo sviluppo dell applicazione.

Dettagli

Applicazioni web. Sommario. Parte 7 Java Server Pages. Applicazioni web - JSP. Alberto Ferrari 1 JSP. JavaBeans JSTL. Architettura e sintassi di base

Applicazioni web. Sommario. Parte 7 Java Server Pages. Applicazioni web - JSP. Alberto Ferrari 1 JSP. JavaBeans JSTL. Architettura e sintassi di base Applicazioni web Parte 7 Java Server Pages Alberto Ferrari 1 Sommario JSP JavaBeans JSTL Architettura e sintassi di base Concetti fondamentali Beans in pagine JSP Linguaggio di espressione Azioni principali

Dettagli

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page» Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti

Dettagli

Architetture Web: un ripasso

Architetture Web: un ripasso Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Accesso Web a Data Base

Accesso Web a Data Base Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Accesso Web a Data Base Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei -

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages 1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages Le JSP DynPages sono un utile strumento, fornito da SAP Netweaver, per una gestione più evoluta di event handling e session

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Le JavaServer Pages - Lezione 7 I JavaBean

Le JavaServer Pages - Lezione 7 I JavaBean Le JavaServer Pages - Lezione 7 I JavaBean A cura di Giuseppe De Pietro (depietro_giuseppe@yahoo.it) Contenuti Nelle lezioni precedenti abbiamo visto gli elementi principali delle Java Server Pages, come

Dettagli

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: http:// sdfonline.unimc.it/info/modulo.jsp;

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: http:// sdfonline.unimc.it/info/modulo.jsp; JAVA SERVER PAGES Una pagina JSP (Java Server Pages), richiesta da un utente (client), viene eseguita dal server web nella propria memoria; generalmente il prodotto dell elaborazione è una pagina html

Dettagli

APPENDICE A Servlet e Java Server Page

APPENDICE A Servlet e Java Server Page APPENDICE A Servlet e Java Server Page A.1 Cosa è una Servlet e come funziona Una servlet è un particolare tipo di applicazione Java, in grado di essere eseguita all'interno di un web server e di estenderne

Dettagli

SERVLET & JSP DISPENSE

SERVLET & JSP DISPENSE SERVLET & JSP DISPENSE PROGRAMMAZIONE LATO SERVER Un server deve rispondere alle richieste del client e permettere di visualizzare le pagine Web. Questo compito è svolto da un software ben definito, il

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Http con java, URL Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE Framework per il Modello 2 it.unibas.pinco versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Le tecnologie software Internet

Le tecnologie software Internet Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B B2_1 V1.7 Le tecnologie software Internet Standard aperti / Sun Java Il contenuto del documento è liberamente utilizzabile dagli studenti,

Dettagli

Laboratorio di reti II: Gestione di database lato server

Laboratorio di reti II: Gestione di database lato server Laboratorio di reti II: Gestione di database lato server Stefano Brocchi brocchi@dsi.unifi.it 23 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Database 23 marzo, 2009 1 / 32 Uso di database lato

Dettagli

I file WAR. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2004/05-1

I file WAR. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2004/05-1 I file WAR WAR è una contrazione di Web ARchive. I file WAR consentono di archiviare un intera applicazione web in un unico file. Tomcat fornisce (tramite il Tomcat Manager) un interfaccia grafica per

Dettagli

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org 1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org Applicazione J2EE sul SAP WAS con SAP NWDS. Il SAP Web Application Server fornisce un framework integrato per lo sviluppo e l

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

Laboratorio di reti II: PHP

Laboratorio di reti II: PHP Laboratorio di reti II: PHP Stefano Brocchi brocchi@dsi.unifi.it 2 marzo, 2009 Stefano Brocchi Laboratorio di reti II: PHP 2 marzo, 2009 1 / 55 Il PHP Il PHP è un linguaggio di scripting che si può inserire

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

UNIVERSITÀ DEGLI STUDI DI PARMA REALIZZAZIONE DI UNO STRUMENTO PER LA GESTIONE DI BASI DI DATI IN APPLICAZIONI WEB

UNIVERSITÀ DEGLI STUDI DI PARMA REALIZZAZIONE DI UNO STRUMENTO PER LA GESTIONE DI BASI DI DATI IN APPLICAZIONI WEB UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA REALIZZAZIONE DI UNO STRUMENTO PER LA GESTIONE DI BASI DI DATI IN APPLICAZIONI WEB Relatore Chiar.mo Prof.

Dettagli

Strutture di accesso ai dati

Strutture di accesso ai dati Strutture di accesso ai dati 1 A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Gestore dei metodi di accesso 2 E il modulo del DBMS che trasforma il piano di esecuzione

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 1 Aprile 2014 Architetture Web I Server Web e gli Standard della Comunicazione Il Server

Dettagli

Le tecnologie software Internet

Le tecnologie software Internet Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B2_1 V1.7 Le tecnologie software Internet Standard aperti / Sun Java Il contenuto del documento è liberamente utilizzabile

Dettagli

Web & basi di dati. Basi di dati & Web. Problema. Pregi e difetti di basi di dati e Web. Architettura generale a livelli. Una gerarchia di soluzioni

Web & basi di dati. Basi di dati & Web. Problema. Pregi e difetti di basi di dati e Web. Architettura generale a livelli. Una gerarchia di soluzioni Basi di dati & Web Web & basi di dati Obiettivi: : ottenere la generazione dinamica di pagine a partire da dati contenuti in una base di dati sfruttare i pregi di Web e basi di dati, aggirandone i difetti

Dettagli

Capitolo 7. Sviluppi futuri. 7.1 Generazione automatica di pagine WML

Capitolo 7. Sviluppi futuri. 7.1 Generazione automatica di pagine WML Capitolo 7 Sviluppi futuri 7.1 Generazione automatica di pagine WML Con l avvento della tecnologia WAP/WML abbiamo constatato la necessità di avere a disposizione uno strumento che consenta, così come

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

Architetture Web parte 2

Architetture Web parte 2 Architetture Web parte 2 Programmazione in Ambienti Distribuiti A.A. 2004-05 Sessione Un insieme di richieste, provenienti dallo stesso browser e dirette allo stesso server, confinate in un dato lasso

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

Applicazioni web. Parte 2 JSP. Michele Tomaiuolo tomamic@ce.unipr.it

Applicazioni web. Parte 2 JSP. Michele Tomaiuolo tomamic@ce.unipr.it Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Applicazioni web Parte 2 JSP Michele Tomaiuolo tomamic@ce.unipr.it Sommario JSP: sintassi di

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Java J2EE JSP e Servlets

Java J2EE JSP e Servlets Java J2EE JSP e Servlets Relatore Dott.ssa Lucrezia Macchia Ph.D Student in Computer Science Dipartimento DI INFORMATICA Piattaforme JAVA Ambienti di sviluppo: JDK L' edizione SDK si distingue in: Java

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi: JAVASCRIPT Introduzione Con l HTML siamo in grado di realizzare pagine web statiche. Con il linguaggio Javascript, invece, possiamo interagire modificando il contenuto della pagina. Il linguaggio javascript

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

L architettura MVC (Model- View-Controller) Introduzione

L architettura MVC (Model- View-Controller) Introduzione L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 27 Marzo 2012 Architetture Architetture Web Protocolli di Comunicazione Il Client Side

Dettagli

Il linguaggio HTML - Parte 3

Il linguaggio HTML - Parte 3 Corso IFTS Informatica, Modulo 3 Progettazione pagine web statiche (50 ore) Il linguaggio HTML - Parte 3 Dott. Chiara Braghin braghin@dti.unimi.it Addenda Vedi tabella caratteri speciali Vedi file caratteri_speciali.html

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

Università degli studi dell Aquila. Sistemi di elaborazione delle informazioni

Università degli studi dell Aquila. Sistemi di elaborazione delle informazioni Università degli studi dell Aquila Corsi di studio: I2E, I2I Sistemi di elaborazione delle informazioni 9 C.F.U. Prof. Eliseo Clementini Ing. Gaetanino Paolone Tecnologie per lo sviluppo di Sistemi sul

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Session tracking Session tracking HTTP: è stateless, cioè non permette di associare una sequenza di richieste ad un dato utente. Ciò vuol dire che, in generale, se un browser richiede una specifica pagina

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

SERVLET & JSP DISPENSE

SERVLET & JSP DISPENSE SERVLET & JSP DISPENSE PROGRAMMAZIONE LATO SERVER Un server deve rispondere alle richieste del client e permettere di visualizzare le pagine Web. Questo compito è svolto da un software ben definito, il

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Introduzione a Servlet e Struts 2 Ing. Giuseppe D'Aquì 1 Testi Consigliati Java Enterprise in a nutshell, 3 rd edition (O'Reilly) Struts 2 in Action Brown, Davis, Stanlick

Dettagli

Spring WS Sviluppare WebService in Java

Spring WS Sviluppare WebService in Java Spring WS Sviluppare WebService in Java 1.1 Introduzione Nell ambito della programmazione Java è particolarmente utile avere una certa familiarità con i WebService e la tecnologia che li supporta. In particolare

Dettagli

CORSO DI PROGRAMMAZIONE JAVA

CORSO DI PROGRAMMAZIONE JAVA CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi

Dettagli

Tutorial web Application

Tutorial web Application Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 6 Servlet Servlet: classi java che estendono le funzionalità di un server Web generando dinamicamente le pagine Web. Riferimento: http://java.sun.com/products/servlets

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Laboratorio di Basi di dati

Laboratorio di Basi di dati Laboratorio di Basi di dati Docente: Alberto Belussi Lezione 6 Servlet Servlet: classi java che estendono le funzionalità di un server Web generando dinamicamente le pagine Web. Riferimento: http://www.oracle.com/technetwork/java/javaee/servlet/index.html

Dettagli

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizio 1 Nella classe definita di seguito indicare quali sono le variabili di istanza, quali sono le variabili

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

Lezione 6: Form 27/04/2012

Lezione 6: Form 27/04/2012 Lezione 6: Form In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es. per registrarsi ad un sito). Le informazioni sono poi

Dettagli

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Sviluppato da Santoro Carlo Maurizio Matricola:0108/528 Sviluppo terminato il: 18/06/06 TRACCIA DEL PROGETTO Si costruisca, utilizzando la

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Introduzione a JSP (Java Server Pages) MC 2005

Introduzione a JSP (Java Server Pages) MC 2005 Introduzione a JSP (Java Server Pages) MC 2005 Cosa è JSP JSP è una tecnologia per lo sviluppo di pagine web con contenuti dinamici Miglioramento rispetto alle CGI (modello multithread) Indipendenza dalla

Dettagli

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

Framework di Middleware. per Architetture Enterprise

Framework di Middleware. per Architetture Enterprise Framework di Middleware per Architetture Enterprise Corso di Ingegneria del Software A.A.2011-2012 Un po di storia 1998: Sun Microsystem comprende l importanza del World Wide Web come possibile interfaccia

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Web Server TOMCAT Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli