Java lezione 15

10
Jakarta Tomcat Si tratta di un application server che supporta applicazioni server side java (Servlet, JSP). Dispone cioè di un servlet engine ed è in grado di tradurre in servlet e compilare le pagine JSP.

Transcript of Java lezione 15

Page 1: Java lezione 15

Jakarta Tomcat

Si tratta di un application server che supporta applicazioni server side java (Servlet, JSP).Dispone cioè di un servlet engine ed è in grado di tradurre in servlet e compilare le pagine JSP.

Page 2: Java lezione 15

Installazione e AvvioTomcat può essere installato attraverso un pacchetto di installazione automatico sotto windows o linux, ma può essere installato anche solo scompattando un archivio in una cartella su disco. L’esecuzione di Tomcat è tuttavia possibile solo se sulla macchina è già presente una versione delle Virtual Machine java (JRE o JSE) e se sono state impostate le variabili d’ambiente JAVA_HOME (directory di java) e CATALINA_HOME (directory di Tomcat).

Sotto windows NT family (NT,2000,XP) è possibile, durante l’installazione, scegliere l’installazione come servizio di sistema, quindi Tomcat si avvierà in background all’avvio del S.O. Negli altri casi è necessario avviare Tomcat attraverso lo script di avvio startup e interromperlo con lo script shutdown.

Una volta avviato il server è, per default, in ascolto sulla porta 8080.Verificare con un browser scrivendo http://localhost:8080

Page 3: Java lezione 15

Cartelle bin: contiene gli script di avvio

classes: classi scompattate.

common: contiene due cartelle di cui una la cartella lib contiene dei file jar contenenti package java utili per l’esecuzione delle applicazioni servlet e jsp.

conf: contiene i file di configurazione

lib: librerie di classi per l’esecuzione di Tomcat

logs: file di log generati da Tomcat

server: contiene due cartelle come common di cui lib contiene file jar conteneti i package java che permettono l’esecuzione del Server

webapps:contiene le cartelle web degli utenti.

work: contiene le servlet generate dal servlet engine

Page 4: Java lezione 15

Cartelle WebLa cartella webapps contiene le cartelle web degli utenti.

Le cartelle web devono contenere una sottocartella WEB-INF.

La cartella WEB-INF deve contenere un file web.xml che è il file fondamentale per la configurazione dell’applicazione web relativa alla cartella in cui è inserito.

In particolare nel file web.xml è possibile registrare le servlet che verranno utilizzate.

All’interno della cartella WEB-INF solitamente è presente una sottocartella classes che conterrà i file class delle servlet o delle classi utilizzate dall’applicazione.

Spesso le classi vengono suddivise in package quindi all’interno di classes potranno trovarsi altre sottocartelle.

Page 5: Java lezione 15

Il file server.xmlIl file server.xml contiene la configurazione del Server Tomcat.

<Server> è la radice dell’intero file e contiene:

<Service> che è un raggruppamento di

<Connector>

(a cui è possibile associare la porta di ascolto)

associati a un

<Engine>

(permette di indicare l’host di default)

che contiene uno o più

<Host>

(permette di indicare in particolare la appBase,

la direcory principale del Virtual Host)

Page 6: Java lezione 15

Il file server.xml <HOST>Il tag <HOST> può contenere più elementi

<Context> che ha i seguenti attributi:

docBase è il path dell’applicazione o il path dell’archivio WAR,

può essere assoluto o relativo a appBase dell’Host.

path è il context path dutilizzato nell’URL dell’applicazione,

deve essere univoco all’interno dell’Host.

un path=“” indica un’applicazione di default che

processa tutte le richieste.

relodable da porre a true in fase di sviluppo affinché Tomcat si

accorga delle modifiche apportate ai file.

In produzione è meglio porlo a false.

privileged true permette di impostare una directory protetta

Page 7: Java lezione 15

Il file tomcat-users.xmlTale file contiene l’elenco dei ruoli e degli utenti di Tomcat

<tomcat-users>

<user name="tomcat" password="tomcat" roles="tomcat,manager" />

<user name="role1" password="tomcat" roles="role1" />

<user name="both" password="tomcat" roles="tomcat,role1" />

</tomcat-users>

Questi utenti verranno utilizzati in particolare per gli accessi ai context impostati con privileged=true

Page 8: Java lezione 15

file web.xml nella direcory confViene processata per tutte le applicazioni web prima di processare il file web.xml specifico.Oltre a definire alcune applicazioni servlet di default tra cui il motore JSP•definisce i MIME TYPE:

<mime-mapping>

<extension>abs</extension>

<mime-type>audio/x-mpeg</mime-type>

</mime-mapping>•Imposta le pagine di avvio automatico delle applicazioni:

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

Page 9: Java lezione 15

file web.xml nelle direcory WEB-INF<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>esempio.PrimoServlet</servlet-class>

<init-param><param-name>user</param-name><param-value>pippo</param-value>

</init-param> <init-param>

<param-name>password</param-name><param-value>pluto</param-value>

</init-param> </servlet>…….altre servlet<servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/PrimoEsempio</url-pattern> </servlet-mapping>

Page 10: Java lezione 15

file web.xml security<security-constraint> <web-resource-collection> <web-resource-name>Entire Application</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint>

<role-name>manager</role-name> </auth-constraint> </security-constraint>

<login-config> <auth-method>BASIC</auth-method> <realm-name>Tomcat Manager Application</realm-name> </login-config>