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



Documenti analoghi
Programmazione server-side: Java Servlet

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

Tomcat struttura delle directory

Note pratiche sullo sviluppo di servlet (I)

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

Tecnologie di Sviluppo per il Web

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

Tomcat. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2006/07-1

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di dati

Primi passi con Apache Tomcat. L application server dell Apache group

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

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

Laboratorio di sistemi Prima Web Application JSP [Java]

Architetture Web: un ripasso

Tutorial web Application

Tecnologie di Sviluppo per il Web

Corso di Applicazioni Telematiche

Introduzione alla programmazione Http lato server in Java

Servlet API. Programmazione in Ambienti Distribuiti A.A

Laboratorio di reti II: Java Server Pages

Antonio d Acierno 13/01/2006

Laboratorio di reti II: Servlet

Server-side Programming: Java servlets Parte II

Caricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

Application Server per sviluppare applicazioni Java Enterprise

Gestire le sessioni con le Servlet

Tener traccia del client

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

Svantaggi delle servlet

1 JSPDynPage, componenti portale e Java Server Pages

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

Software utilizzato per le esercitazioni

PHP e Java ovvero come poter sfruttare entrambi i linguaggi e vivere felici... forse

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

Servlet 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 /

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

Laboratorio di PROGRAMMAZIONE - a.a. 2010/2011

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

Tale attività non è descritta in questa dispensa

Tecnologie di Sviluppo per il Web

Implementazione. 2.1 Template grafico

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

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

Laboratorio di Programmazione di Rete

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

Un contatore di accessi

Programmazione Java Avanzata

1 EJB e Portal Component Object

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E.

Laboratorio di Basi di Dati e Web

Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA

Laboratorio di Programmazione di Rete

Architetture Web I Server Web e gli Standard della Comunicazione

Laboratorio di Basi di Dati e Web

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

Trasformare una Java (Console) Application in una Web Application (con utilizzo di un database MySQL)

Eclipse e Subversion

SERVLET & JSP DISPENSE

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Laboratorio di Basi di Dati

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

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti

L ambiente di sviluppo Android Studio

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

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

Tecnologie di Sviluppo per il Web

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

3 ServletContext. Marco Tessarotto Programmazione dei Web Server Anno Accademico

Introduzione al linguaggio Java: Servlet e JSP

Basi di dati - Laboratorio

JAVA SERVLET: I filtri

Gestione di database lato server, appunti di configurazione

Lezione di Basi di Dati 1 18/11/ TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Tito Flagella - Introduzione alla programmazione di Servlet

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

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 /

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

Architetture Web I Server Web e gli Standard della Comunicazione

Corso Eclipse. Prerequisiti. 1 Introduzione

Ciclo di vita di una Servlet

Progetto di Gestione Documenti in Ambiente Web

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

JUG Ancona Italy. Google Web Toolkit. Giovanni Baleani Programmatore Java. Filippetti S.r.l.

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

Le command line di Java

modulo: siti web centrati sui dati

Servlet e JDBC. Programmazione in Rete e Laboratorio

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

Manuale utente Volta Control

Tecnologie di Sviluppo per il Web

Appunti di Informatica 1

Progetto di Ingegneria del Software 2. SWIMv2

Prova finale di Ingegneria del software

Corso Online. We Train Italy

Stateless Session Bean

Transcript:

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 di Servlet Sviluppato come prodotto open-source dalla Apache Foundation È in grado di Funzionare come HTTP server Attivare Servlet in corrispondenza di specifici URL Compilare ed attivare Java Server Pages (JSP) Versione In queste slide si fa riferimento a Tomcat 5.0 Installazione Tomcat è di solito installato (in Windows) nel folder Programmi\Apache Software Foundation\Tomcat?.? Questo folder è indicato con $TOMCAT_HOME All interno di questo folder ci sono: conf: i file di configurazione bin: gli eseguibili common: le librerie (es. servlet.jar) webapp: le applicazioni web log: i file di log 2

Applicazioni web L applicazione web è l unità di deployment del software per i contenitori di servlet (Java application server) Le applicazioni web sono composte da: Pagine HTML Altri file (es. Immagini) Java Server Pages Servlet (WEB-INF\classes\...) Librerie di supporto (WEB-INF\lib\...) Descrittore (WEB-INF\web.xml) Struttura webapps PAD HTML index.html WEB-INF XML web.xml classes class Prova.class 3

Sviluppo con Eclipse (1) Creare un progetto Java Create separate source and output folders Creare un nuovo folder web Creare un sotto-folder WEB-INF Creare un sotto-sotto-folder classes Sviluppo con Eclipse (2) In Project Properties/ Java Build Path Default output folder NomeProgetto/web/WEB-INF/classes Add External Jar $TOMCAT_HOME/common/lib/servlet-api.jar Nel folder web/web-inf creare il file web.xml 4

index.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>prova servlet</title></head> <body> <h1>prova</h1> <br> Questo è un <a href="prova >link</a>.<br> </body> </html> Servlet (1) public class Prova extends HttpServlet { public void dopost( HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { doget(request,response); } public void doget( HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { /* */ } } 5

Servlet (2) doget() response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html><head><title>"); out.println("prova servlet</title></head>"); out.println("<body bgcolor=\"white\">"); out.println("<h1>prova servlet</h1>"); out.println("<href=\"index.html\">home</a>"); out.println("</body></html>"); web.xml <web-app> <display-name>pad</display-name> <description>esempio PAD</description> <servlet> <servlet-name>prova</servlet-name> <servlet-class>prova</servlet-class> </servlet> <servlet-mapping> <servlet-name>prova</servlet-name> <url-pattern>/prova</url-pattern> </servlet-mapping> </web-app> 6

Deployment Uso del Tomcat Manager http://localhost:8080/manager/html Deployment da directory local Context path: nome applicazione Directory URL: la directory di base Deployment remoto WAR file to deploy Deployment Locale - Esempio /PAD file://d:\workspace\progetto\web 7

Deployment Remoto Creare un file WAR: Scegliere External Tools Scegliere Program + New Location: ${env_var:java_home}\bin\jar.exe Working directory ${project_loc}\web Arguments -cf..\pad.war * War Dopo la creazione del WAR è necessario fare un refresh del progetto per vederlo Oppure, nell external tool Selezionare il tab Refresh Attivare: Refresh resources upon completion. Scegliere: The project containing the 8

Deployment Remoto - Esempio C:\workspace\Progetto\Progetto.war Re-deployment Applicazioni locali Modificando i file (da Eclipse) si opera sui file visti da Tomcat Per rendere attiva una modifica è sufficiente fare un reload dell applicazione Applicazioni remote Fare un Undeploy Rifare un deploy del War 9

Java Server Pages Sono equivalenti ai servlet Hanno una sintassi simile all HTML con dei tag speciali <% e %> che racchiudono codice Java. Tomcat internamente converte i file JSP in servlet che generano l HTML ed eseguono i frammenti Java $TOMCAT_HOME\work\Catalina\localhost \Context\org\apache\jsp JSP Esempio Direttive <%@ page contenttype="text/html" language="java"%> <%@ page import="java.util.*" %> <html> <head><title>prova JSP</title></head> <body> <% Inserisce il risultato int i; dell espressione nell HTML for(i=0; i<10; ++i){ %> Riga n. <%=i%><br> <% }%> </body></html> 10

JSP Oggetti predefiniti request L oggetto HttpServletRequest response L oggetto HttpServletResponse session L oggetto HttpSession application L oggetto ServletContext Uso delle sessioni - Login <% String name = request.getparameter("user"); String pass = request.getparameter("pass"); User user = User.authenticate(name,pass); if(user==null){ Salva un riferimento nella sessione %>Error<% }else{ session.setattribute("user",user); %> Welcome 11

Uso delle sessioni Post-login Recupera il riferimento all utente dalla sessione <% User user = (User)session.getAttribute("user"); if(user==null){ response.sendredirect(response.encoderedirecturl("index.html")); }else{ %> Ciao <%=user.getname()%> Rinvia alla pagina di login in caso di errore FAQ Java non riconosce servlet Aggiungere: import javax.servlet.*; import javax.servlet.http.*; Java non trova javax.servlet. Includere $TOMCAT_HOME/common/lib/servlet-api.jar Tomcat non si lascia uccidere Andare su http://localhost:8080/admin Uid = admin; pwd = tomcat Click su commit changes 12