Progetto di reti di Calcolatori e Sistemi Informatici

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progetto di reti di Calcolatori e Sistemi Informatici"

Transcript

1 Progetto di reti di Calcolatori e Sistemi Informatici Stefano Millozzi 1

2 Servlet 2

3 Servlet Tecnologia Java per estendere le funzionalità di un server [web] indipendenti dalla piattaforma portabili senza il collo di bottiglia dei vecchi CGI modello di esecuzione thread-based anziché process-based accesso a tutta la tecnologia java es. JDBC La servlet utilizza il protocollo HTTP per comunicare con l esterno E il Web Application Server (Servlet Container) che gestisce le transazioni con il client 3

4 Cos è una servlet http Classe che estende javax.servlet.http.httpservlet 4

5 Chi esegue la Servlet La servlet è eseguita nel server e restituisce dati (HTML, Immagini, XML ecc) al client secondo il protocollo HTTP <html> <body>. http Servlet 1 Servlet 2 5 Client Browser Web Application Server Servlet Container

6 Cosa fa una servlet Legge dati inviati in maniera esplicita dai client attributi e valori di una form dati impliciti inviati da un client es. header richiesta, cookie etc. Produce dei risultati basati sugli input e/o sullo stato (il contenuto è dinamico) Invia al clienti risultati espliciti (HTML) es. autenticazione avvenuta con successo impliciti header, cookie, stato sessione etc. 6

7 Come funziona una servlet La servlet viene invocata dal web server (WS) alla prima invocazione viene invocato il costruttore viene invocato il metodo init() che contiene il codice di inizializzazione creazione di oggetti di supporto memorizzazione di parametri/costanti Ad ogni richiesta, viene invocato il metodo di servizio corrispondente parsing della richiesta generazione dell output (HTML) invio output al client 7

8 Ciclo di vita di una servlet il WS carica la servlet e la inizializza invocando il metodo init() per ogni richiesta viene eseguito il metodo di servizio corrispondente, tipicamente: doget() dopost() service() Prendono 2 argomenti HttpServletRequest HttpServletResponse il metodo è eseguito in un thread separato per ogni client la programmazione deve essere thread-safe! EVITARE L USO DI VARIABILI DI ISTANZA NON SINCRONIZZATE ALL INTERNO DI UNA SERVLET alla fine (ad es. quando il WS termina) la servlet viene distrutta invocando il metodo destroy() 8

9 Sviluppo di una servlet http Inizializzazione Lettura dei dati in ingresso query string header [cookie] Calcolo e presentazione dei risultati Gestione dello stato Sessioni Contesto applicazione Distruzione 9

10 Struttura di una servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletTemplate extends HttpServlet { } } public void doget (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ // lettura Input //Calcolo risultati //Presentazione risultati //gestione stato public void init() throwsservletexception{ // inizializzazioni globali public void destroy() {// cleanupcode...} } // eventuali altri metodi di supporto 10

11 1. Lettura dell input L input viene fornito ai metodi di servizio tramite un oggetto di tipo HttpServletRequest request.getparameter("name") Ritorna una stringa che rappresenta il valore della prima occorrenza del parametro name null se il parametro è assente request.getheader("name") Ritorna una stringa che rappresenta il valore associato all header name null se l attributoèassente request.getparameternames() Ritorna una Enumeration contenente i valori di tutti i parametri In generale, è possibile ispezionare l intera richiesta http, usando altri metodi disponibili 11

12 2. Scrittura della risposta Occorre ottenere un OutputStream dall oggetto HttpResponse nel caso comune (content=text/html) si utilizza un PrintWriter Si imposta il tipo di contenuto ritornato setcontenttype(string type) public void doget(httpservletrequestrequest, HttpServletResponseresponse) throws ServletException, IOException{ response.setcontenttype("text/html"); PrintWriterout = response.getwriter(); È possibile inserire nello stream di output codice HTML qualsiasi altra stringa Qualsiasi sequenza di byte, compatibile con il content type out.println("<tr><td>" + headername); out.println(" <TD>" + request.getheader(headername)); Analogamente al caso dell input, è possibile impostare tutti i dettagli della risposta http 12

13 Tipi di richieste HTTP GET IP-address resourcename?param1=value1& &paramn=valuen Usato per chiedere dati statici o informazioni dinamiche al server (GET GET POST IP-address resourcename?param1=value1& &paramn=valuen HEAD Usato per accedere a risorse dinamiche sul server incapsulando i parametri (ad es. raccolti mediante FORM HTML) nel body della richiesta GET appende i params all URL (bookmark ok), PUT li inserisce nella richiesta (bookmark ko) Usato per chiedere header di risposta (ad es. Content-Type, Content- Length) 13

14 Configurazione delle servlet: web.xml <?xml version="1.0" encoding="utf-8"?> <web-app id="webapp_id" version="2.4" xmlns=" xmlns:xsi=" xsi:schemalocation=" <display-name>wwwx</display-name> <servlet> </servlet> <servlet-name>basicservlet</servlet-name> <servlet-class>basicservlet</servlet-class> <servlet-mapping> <servlet-name>basicservlet</servlet-name> <url-pattern>/basicservlet</url-pattern> </servlet-mapping> </web-app> 14

15 Alcuni tag XML in web.xml (1) web-app definisce a quale versione delle servlet ci si riferisce (es. 2.4) e fornisce riferimenti agli XML schema dove è descritta la grammatica da utilizzare (2) servlet, servlet-name, servlet-class: permettono di dichiarare quali sono le servlet della webapp con il loro nome (univoco) e la classe di riferimento (compresa del percorso con i package) (3) servlet-mapping, servlet-name, url-pattern: definiscono il percorso relativo che permette di identificarle nella stringa URL 15

16 Creazione di una Web Application Java fornisce specifiche per la creazione di applicazioni web Formato war Si può creare attraverso il task ant war Struttura del file META-INF (opzionale) contiene un file Manifest per collegare librerie esterne alla WebApp WEB-INF web.xml lib File jar utilizzati dalla webapp classes File.class corrispondenti alle servlet + altre classi utilizzate dalle servlet File html File JSP File dati, immagini Cartelle e sottocartelle 16

17 Deploy di una WebApp Directory context root WEB-INF WEB-INF/classes WEB-INF/lib Description This is the root directory for the Web application. The name of this directory is chosen by the Web application developer. All the JSPs, HTML documents, servlets and supporting files such as images and class files reside in this directory or its subdirectories. The name of this directory is specified by the Web application creator. To provide structure in a Web application, subdirectories can be placed in the context root. For example, if your application uses many images, you might place an images subdirectory in this directory. The examples of this chapter and Chapter 10 use advjhtp1 as the context root. This directory contains the Web application deployment descriptor (web.xml). This directory contains the servlet class files and other supporting class files used in a Web application. If the classes are part of a package, the complete package directory structure would begin here. This directory contains Java archive (JAR) files. The JAR files can contain servlet class files and other supporting class files used in a Web application. 17

18 web.xml 1. <!DOCTYPE web-app PUBLIC 2. "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 3. " Element web-app defines the configuration of each servlet in 4. <web-app> the Web application and the 5. <!-- General description of your Web application --> servlet mapping for each 6. <display-name> servlet. 7. Advanced Java How to Program JSP 8. and Servlet Chapter Examples 9. </display-name> 10. <description> 11. This is the Web application in which we 12. demonstrate our JSP and Servlet examples. 13. </description> Element display-name specifies a name that can be displayed to the administrator of the server on which the Web application is installed. Element description specifies a description of the Web application that might be displayed to the administrator of the server. 18

19 web.xml 1. <servlet> 2. <servlet-name>welcome1</servlet-name> 3. <description> 4. A simple servlet that handles an HTTP get request. 5. </description> 6. <servlet-class> 7. com.deitel.advjhtp1.servlets.welcomeservlet 8. </servlet-class> 9. </servlet> Element servlet describes a servlet. Element servlet-name is the name for the servlet. Element description specifies a description for this particular servlet. Element servlet-class specifies compiled servlet s fully qualified class name. 19

20 web.xml 31 <!-- Servlet mappings --> 32 <servlet-mapping> 33 <servlet-name>welcome1</servlet-name> 34 <url-pattern>/welcome1</url-pattern> 35 </servlet-mapping> </web-app> Element servlet-mapping specifies servlet-name and urlpattern elements. 20

21 Il Deployment Alberi Web Application da inserire in specifiche directory del Web Server Di solito due possibilità: comunicare al Web Server dove si trova l albero della Web Application creazione di un file.war con l albero della Web Application da consegnare al Web Server che automaticamente provvede a scompattarlo dove necessario (portabilità dell applicazione) In JBoss la directory importante per il deployment è <JBOSS_HOME>\server\default\deploy In questa directory si trovano gli alberi delle Web Application disponibili sul Web Server 21

22 Creazione di un.war Assicurarsi di avere tutti i files pronti nell albero della Web Application Nella directory <wa> eseguire il comando: jar cvf miawebapp.war * Al completamento nella dir <wa> si troverà il file compresso: miawebapp.war Sposta il file miawebapp.war in JBoss Avvia JBoss Per accedere agli URL statici della Web Application: Per accedere alle servlet della Web Application:

23 Esempio Realizzare una servlet che legge i parametri passati nella URL e ritornare una pagina HTML che mostra i parametri passati e i valori ottenuti ListParameterServlet.java 23

24 Ant e l'automazione dei passi di deployment ANT è un tool free-downloadable ( e crossplatform per automatizzare l intero processo di: preparazione su file system della struttura ad albero di una Web Application (con cancellazioni e creazioni di directories) copia dei files necessari nelle giuste posizioni compilazione di tutti i files java (servlet ed utilità) generazione dell archivio compattato.war contenente la Web Application copia dell archivio compattato nella giusta posizione di un Web Server per il deployment della Web Application Sostituisce file batch (.bat in ambiente Windows) e scripts (.sh in ambiente Linux) Ispirato alla filosofia di compilazione e linking di programmi C ( makefile ) Incentrato sull uso di un file build.xml contenente tag (denominati target) associati alle varie interazioni previste (con comandi di file system, compilatori, script, ecc.) Ambiente potente e flessibile di gestione delle articolate fasi di sviluppo e deployment di una Web Application 24

25 Esercizi Costruire una pagina HTML che raccoglie i dati anagrafici di uno studente; i dati vengono poi inviati ad una servlet che apre un file e salva i dati su un file Modificare la Servlet ListParameterServlet in modo da restituire una pagina HTML con i parametri e gli header Realizzare una servlet che, quando invocata, ritorna una immagine in base al valore di un opportuno parametro Utilizzare la servlet come src di un tag img di una pagina HTML 25

26 Alcuni metodi utili delle Servlet ServletConfig getservletconfig() Ritorna un oggetto ServletConfig che permette di accedere ai parametri di configurazione della servlet dettagliato di seguito ServletContext getservletcontext() Ritorna il context in cui vivono le servlet (all interno del server) Permette di ottenere un riferimento ad altre servlet e condividere oggetti comuni a tutte le servlet della stessa applicazione String getservletinfo() Ritorna informazioni sulla servlet String getservletname() Ritorna il nome della servlet, come definito nel file web.xml 26

27 Metodi di Servlet Method void init( ServletConfig config ) ServletConfig getservletconfig() String getservletinfo() void service( ServletRequest request, ServletResponse response ) void destroy() 27 Description This method is automatically called once during a servlet s execution cycle to initialize the servlet. The ServletConfig argument is supplied by the servlet container that executes the servlet. This method returns a reference to an object that implements interface ServletConfig. This object provides access to the servlet s configuration information such as servlet initialization parameters and the servlet s ServletContext, which provides the servlet with access to its environment (i.e., the servlet container in which the servlet executes). This method is defined by a servlet programmer to return a String containing servlet information such as the servlet s author and version. The servlet container calls this method to respond to a client request to the servlet. This cleanup method is called when a servlet is terminated by its servlet container. Resources used by the servlet, such as an open PdR_09010 file or an - Stefano open database Millozzi connection, should be deallocated here.

28 Metodi di Servlet Method dodelete dooptions doput Description Called in response to an HTTP delete request. Such a request is normally used to delete a file from a server. This may not be available on some servers, because of its inherent security risks (i.e., the client could delete a file that is critical to the execution of the server or an application). Called in response to an HTTP options request. This returns information to the client indicating the HTTP options supported by the server, such as the version of HTTP (1.0 or 1.1) and the request methods the server supports. Called in response to an HTTP put request. Such a request is normally used to store a file on the server. This may not be available on some servers, because of its inherent security risks (i.e., the client could place an executable application on the server, which, if executed, could damage the server perhaps by deleting critical files or occupying resources). dotrace 28 Called in response to an HTTP trace request. Such a request is normally used for debugging. The implementation of this method automatically returns a\n HTML document to the client containing the request header information (data sent by the browser as part of the request).

29 Metodi di Servlet (da sovrascrivere) public void doget(httpservicerequest req, HttpServiceResponse res) implementa la gestione di richieste di tipo GET RIDEFINIBILE public void dopost(httpservicerequest req, HttpServiceResponse res) implementa la gestione di richieste di tipo POST RIDEFINIBILE public void dohead(httpservicerequest req, HttpServiceResponse res) implementa la gestione di richieste di tipo HEAD RIDEFINIBILE 29

30 Gestione avanzata delle servlet 1) Gestione dello stato 1) url rewriting 2) Cookie 3) I listener 4) I FIltri 2) Inizializzazione delle servlet 3) Cooperazione tra servlet 1) Include, forward e redirect 4) Scambio di dati tra servlet 1) scope di sessione, request, application 5) Multithreading 32

31 (1) Gestione dello stato Attraverso le servlet è possibile gestire Stato interno della servlet Sincronizzazione canonica Stato di oggetti persistenti Transazioni Stato della sessione Session tracking 33

32 Gestione della sessione Il protocollo HTTP è stateless! Per mantenere informazioni rispetto allo stato della sessione esistono appositi meccanismi In HTTP Campi hidden nei form Non persistente Cookie coppie <attributo,valore> inviate dal WS memorizzate dal browser ritornate al WS per ogni connessione al sito persistenza affidata al client URL rewriting Non persistente Servlet Session tracking Astrae dai suddetti meccanismi fornendo un interfaccia uniforme È compito del ws (servlet container) implementare le gestione delle sessioni usando una delle tecniche sopra elencate 34

33 API per il Session Tracking Gli oggetti sessione sono gestiti dal WebServer Associati al client utilizzando cookie o URL rewriting (trasparente per il programmatore) Session s = request.getsession(true) ritorna o una sessione esistente o una nuova se non ve ne è una Il WS ispeziona la richiesta(url e cookie) per verificare se il client ha già una sessione(chiave di una hash table). Se si, ritorna l oggetto. Se no, crea una nuova sessione memorizzando nella hash table una chiave che viene associata ad un cookie o ad una stringa che verrà inserita nella URL Ottenuta una sessione, si possono memorizzare al suo interno valori come con le hash table setattribute(string key, Object value) Object getattribute() 35

34 Metodi della classe HttpSession Object getattribute Estrae il valore di un attributo identificato da un nome. Ritorna null se al nome non è associato un valore setattribute(string key, Object value) Associa un valore ad un nome removeattribute(string key) getattributenames() String getid() Ritorna la chiave di sessione 36

35 Metodi della classe HttpSession boolean isnew() Determina se la sessione è nuova per il client getcreationtime() getlastaccessedtime() getmaxinactiveinterval, setmaxinactiveinterval Persistenza dell oggetto in termini temporali Invalidate Invalida la sessione e libera tutti gli oggetti ad essa associati consentendo al WS di liberare risorse 37

36 (1.1) Riscrittura degli URL Abbiamo visto che HttpSession è ciò che le servlet usano per recuperare una sessione Abbiamo detto che tale recupero si basa in genere su dei cookies di sessione Se un browser non supporta i cookies (per esplicito rifiuto di accettazione per esempio) Riscrittura degli URL ( URL Rewriting ) Operazione da parte del Web Container trasparente al programmatore ma operazione eseguita solo se esplicitamente richiesta! Nella URL viene aggiunto un opportuno parametro nella query che identifica la sessione nella forma: In tutte le parti HTML che vengono ritornate e che contengono un link ad una altra risorsa del server occorre aggiungere questo parametro aggiuntivo 39

37 Riscrittura degli URL Come aggiungere il parametro di SESSIONID? Un metodo in HttpServletResponse: String encodeurl(string url) Aggiunge al parametro in input url un identificativo della sessione Riscrittura automatica da parte del Web Container, ma solo se esiste un rifiuto dei cookies da parte del Browser encodeurl(string url) cookies accettati dal client? NON HA EFFETTO cookies rifiutati dal client? HA EFFETTO 40

38 (1.2) Gestione dello stato attraverso Cookie javax.servlet.http.cookie modella cookies gestiti autonomamente e con tempo di vita maggiore di quello dei cookie di sessione usati per il tracciamento della sessione Cookies di applicazione inseriti in HTTP request e HTTP response Esistono i seguenti due metodi principali per la gestione di oggetti istanza di Cookie : Cookie[] getcookies() in HttpServetRequest void addcookie(cookie cookie) in HttpServletResponse 41

39 Metodi principali di Cookie Cookie(String name, String value) void setname(string name) String getname() void setvalue(string value) String getvalue() void setdomain(string domain) String getdomain() void setmaxage(int lifetime) int getmaxage () 42

40 (1.3) Listener di Sessione Il session listener interviene quando avvengono I seguenti eventi:: Una nuova sessione viene creata Una sessione viene distrutta (esplicitamente da una servlet o per timeout) Per ottenere un session listener si implementa l interfaccia javax.servlet.http.httpsessionlistener 43

41 Listener di Sessione } public class MioListener implements HttpSessionListener{ public void sessioncreated(httpsessionevent se) { //quando una nuova sessione viene creata public void sessiondestroyed(httpsessionevent se) { } //quando una sessione viene distrutta } <listener> <listener-class>miolistener</listener-class> </listener> 44

42 (1.4) Filter (Sun spec.) The Java Servlet 2.3 specification introduced the concept of filters, components that can intercept and modify requests to and responses from servlets and JSPs (JavaServer Pages). You can extend and enhance an application by adding one or more filters, and you can apply filters individually or in a series called a filter chain. From a developer's point of view, a filter is a Java class that implements the interface defined in javax.servlet.filter. The key method is dofilter, which has the following signature: public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) 45

43 Configurazione web.xml... <filter> <filter-name>filterallrequests</filter-name> <filter-class>mypackage1.filterone</filter-class> </filter> <filter-mapping> <filter-name>filterallrequests</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>... 46

44 Utilizzo della catena public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { } // operazioni di controllo varie (autenticazione / logging etc) // processing of the request (permette agli altri filtri di effettuare controlli) e infine passa il controllo alla servlet finale chain.dofilter(request, response);//se non presente la richiesta non viene elaborata 47

45 (2) Inizializzazione servlet Il metodo init() viene invocato solo quando la servlet viene caricata (di solito alla prima richiesta) usato per settare parametri di inizializzazione Es. connessione al database Prima alternativa: public void init() throwsservletexception{ } // Initializationcode... Va bene se non ci sono parametri di configurazione variabili 48

46 Inizializzazione servlet Seconda alternativa: public void init(servletconfigconfig)throwsservletexception{ super.init(config);//importante!!!! // initializationcode } L oggetto ServletConfig contiene parametri di configurazione Settati esternamente (in modo server-specific) In Tomcat/Jboss si usa un file web.xml Letti con metodi get(in modo portabile) String message = config.getinitparameter( message ) Restistuisce il valore del parametro di nome message 49

47 (3) Collaborazione tra servlet Tre possibilità di collaborazione per una servlet in un Web Server: (include) inclusione di contenuto di un altra risorsa sullo stesso Web Server L output di una altra servlet/pagina html/altro viene concatenata all outputstream della servlet chiamante (forward) ridirige la richiesta ad un altra risorsa all interno dello stesso WebServer Il controllo passa ad una differente servlet/risorsa che risponde al client. Al termine della elaborazione della nuova risorsa il controllo non viene ritornato alla servlet chiamante ma la richiesta si conclude (redirect) redirezione ad una nuova URL. Il server invia un HTTP CODE 3xx e il browser effettua una riconnessione alla nuova URL comunicata dal server 50

48 Request dispatchet Il RequestDispatcher è l oggetto utilizzato per indirizzare una richiesta utente ad una altra risorsa locale nel server La risorsa può essere dinamica (Servlet o JSP file) o statica (HTML document, image) Per indirizzare la richiesta alla risorsa x, si usa: getservletcontext().getrequestdispatcher("x") 51

49 Include e forward L oggetto java da utilizzare per include e RequestDispatcher che offre i metodi: include(httpservletrequest req, HttpServletResponse res) forward(httpservletrequest req, HttpServletResponse res) RequestDispatcher è ottenibile dal metodo attraverso due alternative: Con il metodo getrequestdispatcher(string url) di: HttpServletRequest, con url relativo (che NON COMINCIA con / ) o assoluto (che COMINCIA con / ) ServletContext, con url solamente assoluto Esempi: RequestDispatcher rd = request.getrequestdispatcher( myservlet ); RequestDispatcher rd = getservletcontext().getrequestdispatcher( /myservlet ); 52

50 Redirect Metodo di HttpServletResponse: response.sendredirect(url) L utente vede la URL della pagina/servlet/jsp Due round trip Vantaggio: l utente può visitare la risorsa separatamente Può essere aggiunta ai preferiti Svantaggio: visitando direttamente la risorsa, la risorsa si deve occupare di recuperare i dati in quanto non c e nessuna servlet precedente che lo ha già fatto 53

51 Include vs Forward Con il metodo include, la servlet chiamata può solo alterare il contenuto della risposta e non gli headers Gestione richiesta e risposta di un client RESTANO DI PERTINENZA DELLA SERVLET CHIAMANTE Se la servlet chiamante ha già iniziato a rispondere usando l outputstream, si può usare solo il metodo include Il forward può essere usato per dare ad un altra risorsa la responsabilità di rispondere all utente Gestione richiesta e risposta di un client DIVENTANO DI PERTINENZA DELLA SERVLET CHIAMATA Si può utilizzare il forward SOLO se la servlet non ha iniziato a scrivere in output, altrimenti viene generata una eccezione IllegalStateException 54

52 (4) Scambio di dati tra Servlet 3 modi per scambiare informazioni tra Servlet (e JSP) Per dati utilizzati solo durante la richiesta corrente request.setattribute("key", value); Nel caso di dati che devono rimanere all interno della stessa sessione (più richieste successive per lo stesso utente) session.setattribute("key", value); Dati globali per l intera applicazione context.setattribute("key", value); 55

53 (5) Multi Threading Le Servlet sono in grado di gestire più richieste in maniera concorrente Quindi i metodi doget e dopost possono essere acceduti in maniera concorrente (più thread che eseguono gli stessi metodi sulle stesse classi) Occorre gestire quindi in maniera opportuna l accesso alle risorse condivise ed utilizzare con cautela campi statici o di istanza all interno della servlet Due approcci per il Thread safe: Sincronizzare gli accessi alle risorse Creare servlet non multithreading (SingleThreadModel) 56

54 SingleThreadModel Per avere servlet che gestiscono un client alla volta la servlet deve implementare l interfaccia SingleThreadModel oltre che estenere l HttpServlet class Implementare l interfaccia SingleThreadModel non richiede la scrittura di metodi aggiuntivi. Si tratta di una interfaccia di firma che serve per dichiarare al server di voler essere eseguita in maniera non concorrente In genere le servlet SingleThreadModel rendono l applicazione meno performante perché per ogni richiesta è necessario allocare una nuova struttura di gestione della servlet public class ReceiptServlet extends HttpServlet implements SingleThreadModel { } 57

55 Problemi di generazione della risposta Problemi delle Servlet scarsa leggibilità del codice di output Difficoltà di manutenzione caratteri speciali (&,>,<, ) devono essere tradotti Soluzioni E possibile creare delle classi che astraggono sequenze di tag HTML Cascading Style Sheet(CSS) consentono di migliorare la manutenibilità della servlet relativamente agli aspetti di produzione della risposta Combinare Servlet e JSP Lo vedremo in seguito 58

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

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

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

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

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

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

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

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

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

Laboratorio di Programmazione di Rete

Laboratorio di Programmazione di Rete Laboratorio di Programmazione di Rete Lezione del 15 Marzo 2010 Docente: Novella Bartolini Ricevimento: Mercoledì ore 12:30-14:00 Via Salaria 113, terzo piano, stanza 309 Email: bartolini@di.uniroma1.it

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

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

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

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

3 ServletContext. Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005

3 ServletContext. Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 3 ServletContext Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 ServletContext I interfaccia ServletContext fornisce alla web application (ed i suoi servlet) una serie di funzionalità

Dettagli

Sessioni Applicative in Http. Tito Flagella tito@link.it

Sessioni Applicative in Http. Tito Flagella tito@link.it Sessioni Applicative in Http Tito Flagella tito@link.it Perché le sessioni Solitamente le transazioni http sono anonime e indipendenti Le applicazioni hanno bisogno di correlarle tra di loro User1: http://bank.com/prelievo?amount=10000$

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

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 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 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

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

Antonio d Acierno 13/01/2006

Antonio d Acierno 13/01/2006 Introduzione alle Servlet Corso di Sistemi Web e Basi Dati Prof. Antonio d Acierno Servlet Alternativa Java ai CGI-BIN Classi java che estendono le funzionalità di un server Web generando dinamicamente

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 SERVLET: I filtri

JAVA SERVLET: I filtri JAVA SERVLET: I filtri INTRODUZIONE Quest oggi vedremo una particolarità delle servlet che è stata introdotta nelle servlet API versione 2.3. I filtri sono un potente meccanismo che è in grado di fare

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

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

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 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

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

Application Server per sviluppare applicazioni Java Enterprise

Application Server per sviluppare applicazioni Java Enterprise Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente

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

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

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

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

Lezione 1 Introduzione

Lezione 1 Introduzione Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software

Dettagli

Tito Flagella - Introduzione alla programmazione di Servlet

Tito Flagella - Introduzione alla programmazione di Servlet Introduzione alla programmazione di Servlet Caratteristiche di base Estensioni del server scritte in Java utilizzando la Servlet API La Servlet API è diventata un estensione standard di Java, dalla versione

Dettagli

Web Application model. Servlet. Servlet e Servlet Container. Introduzione alle Servlet

Web Application model. Servlet. Servlet e Servlet Container. Introduzione alle Servlet Web Application model Client Tier Middle Tier Enterprise Information System (EIS) Tier Introduzione alle Servlet application Web Container browser Servlet Servlet JSP JDBC Database 2 Servlet Programma

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

Java Servlet. Corso di Applicazioni Telematiche. A.A Lezione n.10 Prof. Roberto Canonico

Java Servlet. Corso di Applicazioni Telematiche. A.A Lezione n.10 Prof. Roberto Canonico Java Servlet Corso di Applicazioni Telematiche A.A. 2005-06 Lezione n.10 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos è una Servlet? Una Servlet è un componente

Dettagli

Telematica II 17. Esercitazione/Laboratorio 6

Telematica II 17. Esercitazione/Laboratorio 6 Multitasking e Multithreading Telematica II 17. Esercitazione/Laboratorio 6 Multitasking si riferisce all abilità di un computer di eseguire processi (jobs) multipli in maniera concorrente si ricorda che

Dettagli

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

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

Laboratorio di Programmazione di Rete

Laboratorio di Programmazione di Rete Laboratorio di Programmazione di Rete Lezione del 12 Marzo 2007 Docente: Ing. Novella Bartolini Ricevimento: Mercoledì ore 12:00-14:00 Via Salaria 113, terzo piano, stanza 309 Email: bartolini@di.uniroma1.it

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

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.12 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Una Servlet è un componente software scritto in Java,

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

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

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

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

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

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

Do-Dots Protocollo di comunicazione

Do-Dots Protocollo di comunicazione Do-Dots Protocollo di comunicazione Ultimo aggiornamento 10 maggio 2011 rev3 Spiegazioni 10/05/2011 rev2 Primo aggiornamento con attuali comandi 03/05/2011 rev1 - Stesura iniziale 14/05/2010 DOCUMENTO

Dettagli

Database & WWW. Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone

Database & WWW. Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone Database & WWW Capitolo 4 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Sommario Protocollo HTTP CGI Java Servlet Server-side scripting

Dettagli

DOCFINDERWEB SERVICE E CLIENT

DOCFINDERWEB SERVICE E CLIENT DOCFINDERWEB SERVICE E CLIENT Specifiche tecniche di interfacciamento al Web Service esposto da DocPortal Versione : 1 Data : 10/03/2014 Redatto da: Approvato da: RICCARDO ROMAGNOLI CLAUDIO CAPRARA Categoria:

Dettagli

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Ivan Scagnetto Dipartimento di Matematica e Informatica http://www.dimi.uniud.it/scagnett scagnett@dimi.uniud.it Laboratorio di Tecnologie Lato

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

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

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

Esercitazione 4 JDBC

Esercitazione 4 JDBC JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

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

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

Integrazione InfiniteCRM - MailUp

Integrazione InfiniteCRM - MailUp Integrazione InfiniteCRM - MailUp La funzionalità della gestione delle campagne marketing di icrm è stata arricchita con la spedizione di email attraverso l integrazione con la piattaforma MailUp. Creando

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

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

Web Programming. Lezione 4: Cookie e Sessioni. Giulio Rossetti 14/04/2011. Guru@Work

Web Programming. Lezione 4: Cookie e Sessioni. Giulio Rossetti 14/04/2011. Guru@Work Web Programming Lezione 4: Cookie e Sessioni Giulio Rossetti Guru@Work 14/04/2011 Contatti Materiale Tutto il materiale del corso sarà reso disponibile sul sito: www.guruatwork.com (e su blog.giuliorossetti.net)

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

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

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

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

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

costruttori e distruttori

costruttori e distruttori costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l. Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : info@abacogroup.eu 02/03/2010

Dettagli

Standard Nazionale di Comunicazione Mercato Gas

Standard Nazionale di Comunicazione Mercato Gas JULIA RETE s.u.r.l. - Società unipersonale a responsabilità limitata Soggetta a direzione e coordinamento del Comune di Giulianova Sede legale: 64021 Giulianova (TE) Corso Garibaldi, 119 Sede operativa:

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

Bibliografia: Utenti e sessioni

Bibliografia: Utenti e sessioni Bibliografia: Utenti e sessioni http: protocollo stateless http si appoggia su una connessione tcp e lo scambio nel contesto di una connessione si limita a invio della richiesta, ricezione della risposta.

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

API e socket per lo sviluppo di applicazioni Web Based

API e socket per lo sviluppo di applicazioni Web Based API e socket per lo sviluppo di applicazioni Web Based Cosa sono le API? Consideriamo il problema di un programmatore che voglia sviluppare un applicativo che faccia uso dei servizi messi a disposizione

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

Inizializzazione, Assegnamento e Distruzione di Classi

Inizializzazione, Assegnamento e Distruzione di Classi Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della

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

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Ivan Scagnetto Dipartimento di Matematica e Informatica http://www.dimi.uniud.it/scagnett scagnett@dimi.uniud.it Laboratorio di Tecnologie Lato

Dettagli

PRACTICAL DEVELOPMENT OF A WEB SERVICE

PRACTICAL DEVELOPMENT OF A WEB SERVICE PRACTICAL DEVELOPMENT OF A WEB SERVICE 1 JAX-WS 2.0 Java API for XML Web Services Specifica basata su annotazioni Applicata su classi ed interfacce in modo da definire e gestire automaticamente il protocollo

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

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

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Progetto di Gestione Documenti in Ambiente Web

Progetto di Gestione Documenti in Ambiente Web Progetto di Gestione Documenti in Ambiente Web Sessione Febbraio 2013 Marco Taddei 726523 Federico Valentini 726584 Il progetto SharesShop simula un portale web di una banca che mette a disposizione dei

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

Osservazioni. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2005/06-1

Osservazioni. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2005/06-1 Osservazioni Nell esempio della precedente lezione del contatore di accessi persistente il nome del file in cui memorizzare il numero di hit ed il valore iniziale del contatore sono codificati direttamente

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002 Tricks & Tips [Access] - Michele de Nittis - Tutorial - ActiveX - Controllo Tree View Versione: 1 Data Versione: venerdì 30 agosto 2002 1 SOMMARIO PREMESSA...3 INSERIMENTO DEL CONTROLLO...3 AGGIUNTA DELLE

Dettagli

Standard Nazionale di Comunicazione Mercato Gas

Standard Nazionale di Comunicazione Mercato Gas JULIA RETE s.u.r.l. - Società unipersonale a responsabilità limitata Soggetta a direzione e coordinamento del Comune di Giulianova Sede legale: 64021 Giulianova (TE) Corso Garibaldi, 119 Sede operativa:

Dettagli