Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello

Slides:



Advertisements
Presentazioni simili
Programmazione in Java
Advertisements

Corso di Fondamenti di Informatica
Unit à E4 Applet. Obiettivi Saper progettare e realizzare Applet Java allinterno di pagine HTML Comprendere le interazioni tra il browser e lapplet Saper.
Applet Java.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Web Services.
Java Enterprise Edition (JEE)
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Relatore:
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Usare Apache Axis.
Tecnologie di Sviluppo per il Web
S.I.S.S.I.S. Catania 2002/03 LE APPLET JAVA Prof. D. Cantone Amuso Raffaele.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
Applet Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.
Architettura Three Tier
Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4 1 Il package java.awt Gestione dellI/O orientato alla grafica: le finestre Sviluppo di interfacce.
Un framework per il pattern MVC
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
ASP Lezione 1 Concetti di base. Introduzione ad ASP ASP (che è la sigla di Active Server Pages) è un ambiente di programmazione per le pagine web. La.
Elaborazione di Franco Grivet Chin
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Corso Java/J2EE per PM/software architect Servlet
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Architettura Java/J2EE
Corso di PHP.
Ing. Enrico Lecchini BetaTre S.r.l.
Guida IIS 6 A cura di Nicola Del Re.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Fondamenti di JSP: Introduzione
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Common Gateway Interface. Dynamic HTML le risposte inviate al client sono (parzialmente o totalmente) create on-the-fly (al volo) dopo aver ricevuto il.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
BIOINFO3 - Lezione 301 CGI-BIN Abbiamo visto che CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. In particolare.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Amministrazione della rete: web server Apache
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Ant Che cos’è Come si utilizza Funzionalità principali
Servlet e Java Server Pages
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Java Enterprise Edition
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
Lezione 8.
Vannucci Roberto (5BM), De Nardin Axel (5AM)
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Java Enterprise Edition
Laboratorio di Servizi Web - servlet - Ardissono 1 Java Servlet API package javax.servlet: include classi e interfacce di gestione di servlet indipendenti.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Analisi dettagliata e design
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 1 – Introduzione.
TW Servlet Nicola Gessa. TW Nicola Gessa Introduzione alle servlet n Le servlet sono oggetti java che vengono caricati ed eseguiti dal web server all’interno.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Eprogram informatica V anno.
Eprogram informatica V anno. Programmare in rete.
Gestire i dati: download e salvataggio. L’importanza dei dati La quasi totalità delle applicazioni hala necessità di gestire varie funzionalità relative.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Tecnologie lato Server: Servlet
Transcript della presentazione:

Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello

Java nella programmazione di sistemi informativi su web Java fornisce tecnologie utili per la programmazione di applicazioni multi-tier Internet-based: n Livello Interfaccia utente F Applet F Componenti Java Beans n Livello Comunicazione F Remote Method Invocation RMI n Livello Middleware F Servlet F Java Server Pages JSP n Livello Dati F Java DataBase Connectivity JDBC

La classe Applet E definita nel package javax.applet Nella classe javax.applet.JApplet

Ciclo di vita di unapplet Init Start Stop Destroy

Servlet Estende le funzionalità di un server web È usata per realizzare comunicazioni basate sul protocollo HTTP È definita nei packages javax.servlet e javax.servlet.http I packages servlet definiscono due classi astratte che implementano linterfaccia Servlet GenericServlet nel package javax.servlet HttpServlet nel package javax.servlet.http Forniscono per default limplementazione di tutti i metodi dellinterfaccia Servlet In generale, una servlet estende o GenericServlet oppure HttpServlet

Servlet Tutte le servlet devono implementare linterfaccia Servlet I metodi dellinterfaccia sono richiamati automaticamente dal server su cui la servlet è installata (servlet container)

Ciclo di vita di una servlet Il server in risposta ad una richiesta per una servlet ne effettua il caricamento in memoria void init (ServletConfig config) è avviato automaticamente da server prima che la servlet possa gestire la richiesta void service (ServletRequest request, ServletResponse response) gestisce tutte le richieste rceve le richieste le elabora e invia le risposte al client è chiamato dal server per rispondere ad una richiesta eseguito in un nuovo thread per ogni richiesta void destroy( ) chiamato al termine dellesecuzione della servelt per rilasciare le risorse usate dalla servlet

Classe HttpServlet Generalmente le Servlet web-based estendono la classe HttpServlet usano il metodo service per distinguere tra le richieste ricevute da un client (web browser) Le richieste (metodi) HTTP sono di tipo: get per richiedere informazioni dal server, generalmente documenti HTML o immagini post per inviare dati al server generalmente informazioni relative ad autenticazione o data inseriti in un form Usa i metodi doGet e doPost rispettivamente per rispondere alle richieste corrispondenti

HttpServletRequest Interface n Le chiamate a doPost e doGet per una HttpServlet ricevono un oggetto che implementa linterfaccia HttpServletRequest. n Il Web server che esegue la servlet crea un oggetto HttpServletRequest e lo passa al metodo service.

HttpServletResponse Interface n Il web server che esegue la servlet crea un oggetto HttpServletResponse che passa al metodo service della servlet che a sua volta lo passa a doGet o doPost

Interfaccia HttpServletRequest Interfaccia HttpServletResponse Classe HttpServlet implementa doDelete doOption doPut doTrace addCookies getOutputStream getWriter setContentType getParameter getParameterName getCookies getSession

Sviluppare una servlet n Affinchè una servlet possa essere eseguita è necessario che il server sia attivo n Web Server che supportano le servlet Apache HTTP Server WWW Jigsaw Web Server Microsoft Internet Information Server IIS Netscape iPlanet Application Server IBM WebSphere Application Server BEA WebLogic application server

Esempio: Tomcat Apache server É contenuto nel progetto jakarta recuperabile allindirizzo jakarta.apache.org n Configurazione del server tomcat Definire le variabili di ambiente JAVA_HOME e TOMCAT_HOME che individuano rispettivamente la directory contenente linstallazione di java ( per esempio C:\jdk1.3.1) e la directory che contiene linstallazione di Tomcat

Configurazione del server n Avvio del server tomcat dalla directory bin di jakarta eseguire il batch tomcat.bat tomcat è eseguito sulla porta 8080 è possibile controllare che il server sia attivo sulla URL o equivalemente allindirizzo :8080/ n Per interrompere lesecuzione di tomcat eseguire tomcat stop

Struttura delle directory n Le applicazioni web sono contenute nella sottodirectory webapps di jakarta-tomcat n Ciascuna applicazione sarà contenuta in una sottodirectory di webapps n Web-inf contiene il file descrittore web.xml n Web-inf/classes contiene le classi relative alle servlet e altre classi che supportano I file usati in una applicazione web. la directory relativa al package nel caso in cui le classi siano parte di un package Web-inf/lib contiene I file jar che contengono le classi servlet ed altre classi di supporto

Esempio n.1: costruzione di una servlet n La servlet genera un documento XHTML in risposta ad una richesta di tipo get, che consente di recuperare il contenuto di una specifica URL Generalmente il contenuto è di tipo HTML o XHTML n Il documento conterrà la sola stringa Welcome to Servlet!

1: import javax.servlet.*; 2: import javax.servlet.http.*; 3: import java.io; 4: 5: public class WelcomeServlet extends HttpServlet { 6: // gestisce le richieste "get" dai client 7: protected void doGet(HttpServletRequest request, 8: HttpServletResponse response) 9: throws ServletException, IOException 10: { 11: response.setContentType("text/html"); 12: PrintWriter out=response.getWriter();

Descrizione del contenuto della servlet n Le linee 1,2,3 consentono di includere I packages javax.servlet a javax.servelet.http che contenogno le classi per gestire la richiesta get e il package java.io n La classe WelcomeServlet deve estendere HttpServlet n ServletException consente di gestire le eccezioni

Overloading del metodo doGet n Il metodo doGet riceve come parametri gli oggetti request e response rispettivamente delle classi HttpServletRequest HttpServletResponse n setContentType: metodo di HttpServletRequest usato per specificare il tipo dei dati da inviare in risposta al client n Out: oggetto della classe PrintWriter Ottenuto mediante il metodo getWriter delloggetto response Utilizzato per inviare la risposta al client

13: // invia la pagina xhtml al client 14: // avvia il documento xhtml 15: out.println(" "); 16: out.println("<!DOCTYPE html PUBLIC \//W3C//DTD " + 17: "XHTML 1.0 Strict//EN\" \" 18: "/TR/xhtml1/DTD/xhtml1-strict.dtd\">"); 19: 20: out.println(" "); Istruzioni per la creazione del documento XHTML

21: // intestazione del documento 22:out.println(" "); 23:out.println(" Prima servlet "); 24:out.println(" "); 25: 26:// corpo del documento xhtml 27:out.println(" "); 28:out.println(" Welcome to Servlet! "); 29:out.println(" "); 30: 31:// fine del documento 32:out.println(" "); 33:out.close(); // chiude lo stream 34:} 35: }

Documento XHTML n il documento contiene un form per richiamare la servlet. n form action specifica la URL che richiama la servlet welcome1 n form method indica che il browser invia una richiesta get al server n la richiesta richiama il metodo doGet della servlet

Documento XHTML <!DOCTYPE html PUBLIC "-//w3c//dtd xhtml 1.0 Strict//EN" " Gestione di una richesta HTTP di tipo Get Click the button to invoke the servlet

import javax.servlet.*; import javax.servlet.http.*; import java.io; public class WelcomeServlet extends HttpServlet { // gestisce le richieste "post" dai client protected void doPost(HtpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String firstName = request.getParameter("firstname"); response.setContentType("text/html"); PrintWriter out=response.getWriter();

Metodo doPost n Una richiesta post è usata per inviare dati da un form HTML ad un gestore di form server side che possa elaborare i dati

// invia la pagina xhtml al client // avvia il documento xhtml out.println(" "); out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD " + "XHTML 1.0 Strict//EN\" \" "/TR/xhtml1/DTD/xhtml1-strict.dtd\">"); out.println(" "); // intestazione del documento out.println(" "); out.println(" Gestione di una richesta post con invio di dati "); out.println(" ");

// corpo del documento xhtml out.println(" "); out.println(" Hello!" + firstname + ", "); out.println("Welcome to Servlet! "); out.println(" "); // fine del documento out.println(" "); out.close(); // chiude lo stream }

<!doctype HTML public "-//w3c//dtd xhtml 1.0 Strict//EN" " Gestione di una richesta Post con invio di dati Type your name and press the Submit button Documento XHTML